To scale out Airbyte using abctl, you'll need to focus on adjusting the resources and configuration of your Kubernetes deployment.
global:
edition: "community" # or "community" depending on your version
jobs:
resources:
limits:
cpu: "5000m" # 5 CPU core
memory: "10Gi" # 5 GB
worker:
replicaCount: 3
extraEnvs: ## We recommend setting both environment variables with a single, shared value.
- name: MAX_SYNC_WORKERS
value: 5
- name: MAX_CHECK_WORKERS
value: 5
server:
replicaCount: 3
Number of concurrent syncs
parallel syncs = number of worker pods * min(MAX_SYNC_WORKERS, TEMPORAL_WORKER_PORTS/4)
- number of worker pods = worker.replicaCount
- MAX_SYNC_WORKERS = worker.MAX_SYNC_WORKERS
- TEMPORAL_WORKER_PORTS = default range 40 ports.(9001-9040)
parallel syncs = 3 x min(15, 10) = 3 x 10 = 30
global:
edition: "community" # or "community" depending on your version
jobs:
resources:
limits:
cpu: "5000m" # 5 CPU core
memory: "10Gi" # 5 GB
$ abctl local install --values ./values.yaml
airbyte-abctl-airbyte-env : Configmap
# Check configmap
$ kubectl get configmap airbyte-abctl-airbyte-env -n airbyte-abctl -o yaml
$ kubectl edit configmap airbyte-abctl-airbyte-env -n <your-airbyte-namespace>
$ kubectl delete pod -l app=airbyte -n <your-airbyte-namespace>
current Data pipeline : MSSQL -> Airbyte(EC2) -> Snowflake
purpose : sync MSSQL and Snowflake equally
TODO : To check the data bandwidth amount through network packet size, collect packet information at each stage in the MSSQL -> Airbyte -> Snowflake.
Checking the network packet size and bandwidth transmitted in MSSQL
SELECT *
FROM sys.configurations
WHERE name like '%network packet size%';
/* result
... | name | value | minimum | maximum | value_in_use | ...
... | network packet size (B) | 4096 | 512 | 32767 | 4096 | ...
*/
[Network speed Basic concepts]
1 Byte = 8 bits
1 Megabit (Mb) = 1,000 Kb = 1,000,000 bits = 125,000 Bytes (125 KB)
1 Megabit per second (1 Mbps) = 125 KB/s = 125,000 Bytes/s
1 Gigabit per second (1 Gbps) = 125 MB/s = 125,000,000 Bytes/s
| Network speed | data per second (MB/s) |
|---|---|
| 1 Mbps | 0.125 MB/s |
| 100 Mbps | 12.5 MB/s |
| 1 Gbps | 125 MB/s |
| 10 Gbps | 1.25 GB/s |
| Network speed | data per second (MB/s) | data per second (Bytes/s) | Packet size (4KB) | Packets per second |
|---|---|---|---|---|
| 1 Mbps | 0.125 MB/s | 125,000 B/s | 4096B | 30.5 packet |
| 100 Mbps | 12.5 MB/s | 12,500,000 B/s | 4096B | 3,051 packet |
| 1 Gbps | 125 MB/s | 125,000,000 B/s | 4096B | 30,517 packet |
| 10 Gbps | 1.25 GB/s | 1,250,000,000 B/s | 4096B | 305,175 packet |
패킷 늘릴 경우,
| Network speed | Packet size (4KB) | Packet size (8KB) | Packet size (16KB) |
|---|---|---|---|
| 1 Mbps | 30.5 packet | 15.2 packet | 7 packet |
| 100 Mbps | 3,051 packet | 1,525 packet | 763 packet |
| 1 Gbps | 30,517 packet | 15,259 packet | 7,629 packet |
| 10 Gbps | 305,175 packet | 152,587 packet | 76,294 packet |
[Recommended packet settings]