Dell NativeEdge: Problem z wydajnością we wdrażaniu strategii
Summary: Wdrożenie planu zajmuje więcej czasu niż oczekiwano i powoduje większe wykorzystanie procesora i problem z wydajnością na zasobniku bitowym Fluent. W tym artykule wyjaśniono, jak dostroić wydajność lub obejść problem, aby wydłużyć ogólny czas przetwarzania strategii. ...
Symptoms
Podczas wdrażania strategii zasobnik Fluent Bit doświadcza wysokiego wykorzystania procesora CPU, zbliżając się do zdefiniowanego limitu procesora CPU. To podwyższone użycie może spowolnić ogólny proces wdrażania strategii.
kubectl top po -A --containers | grep fluent
NAMESPACE POD NAME CONTAINER NAME CPU (cores) MEMORY (bytes)
hzp fluentbit-btz2g fluentbit 999m 43Mi
CPU Usage: 999m means the container is using 999 millicores, which is nearly 1 full CPU core
kubectl top — należy zainstalować serwer metryk.
Cause
Główną przyczyną tego problemu jest nieprawidłowe ustawienie limitu zasobów procesora w zasobniku Fluent.
Resolution
Limit procesora CPU można zoptymalizować w zależności od dostępności zasobów i obciążenia. Zwiększ limit procesora w Daemonset płynny bit. Płynny bit pod jest kontrolowany przez Deamon set więc nie można edytować zasobnika bezpośrednio i należy zmienić wartość graniczną procesora w płynnym bicie Daemonset.
kubectl edit daemonset fluentbit -n hzp
spec:
containers:
- env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
key: AWS_ACCESS_KEY_ID
name: eo-management-seaweedfs-s3-secret
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
key: AWS_SECRET_ACCESS_KEY
name: eo-management-seaweedfs-s3-secret
- name: K8S_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: FLUENT_FOWARD_HOST
value: localhost
- name: FLUENT_FOWARD_PORT
value: "80"
image: harbor-dell.default.svc.cluster.local/renbaobabga/fluent/fluent-bit:3.2.6
imagePullPolicy: IfNotPresent
name: fluentbit
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: "1" >> change it to number depends on your env load and resource allocation
Procesor (CPU): Zmiana wartości "1" na liczba zależy od obciążenia środowiska i alokacji zasobów.
Sprawdź zmianę limitu procesora, uruchamiając polecenie kubectl describe po fluentbit-btz2g -n hzp
Sprawdź użycie procesora, uruchamiając kubectl top po -A --containers | grep fluent