From 306e74f2cc4c9041368212337e04212068241d0e Mon Sep 17 00:00:00 2001 From: xuriwuyun Date: Fri, 8 Nov 2024 15:31:44 +0800 Subject: [PATCH 1/2] feat: mysql support jemalloc (#1158) --- addons/mysql/templates/cmpd-mysql57.yaml | 12 ++++++++++++ addons/mysql/templates/cmpd-mysql80.yaml | 12 ++++++++++++ addons/mysql/templates/cmpd-mysql84.yaml | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/addons/mysql/templates/cmpd-mysql57.yaml b/addons/mysql/templates/cmpd-mysql57.yaml index 35b2cd61e..42c38443b 100644 --- a/addons/mysql/templates/cmpd-mysql57.yaml +++ b/addons/mysql/templates/cmpd-mysql57.yaml @@ -43,6 +43,17 @@ spec: volumeMounts: - mountPath: /tools name: tools + - command: + - cp + - -r + - /jemalloc/lib/ + - /tools/lib + image: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 + imagePullPolicy: {{ default "IfNotPresent" .Values.image.pullPolicy }} + name: init-jemalloc + volumeMounts: + - mountPath: /tools + name: tools {{- include "mysql.spec.runtime.common" . | nindent 6 }} containers: - name: mysql @@ -58,6 +69,7 @@ spec: - | cp {{ .Values.dataMountPath }}/plugin/audit_log.so /usr/lib64/mysql/plugin/ chown -R mysql:root {{ .Values.dataMountPath }} + export LD_PRELOAD=/tools/lib/libjemalloc.so.2 skip_slave_start="OFF" if [ -f {{ .Values.dataMountPath }}/data/.restore_new_cluster ]; then skip_slave_start="ON" diff --git a/addons/mysql/templates/cmpd-mysql80.yaml b/addons/mysql/templates/cmpd-mysql80.yaml index 764f97625..9cbfe2a1a 100644 --- a/addons/mysql/templates/cmpd-mysql80.yaml +++ b/addons/mysql/templates/cmpd-mysql80.yaml @@ -43,6 +43,17 @@ spec: volumeMounts: - mountPath: /tools name: tools + - command: + - cp + - -r + - /jemalloc/lib/ + - /tools/lib + image: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 + imagePullPolicy: {{ default "IfNotPresent" .Values.image.pullPolicy }} + name: init-jemalloc + volumeMounts: + - mountPath: /tools + name: tools {{- include "mysql.spec.runtime.common" . | nindent 6 }} containers: - name: mysql @@ -59,6 +70,7 @@ spec: cp {{ .Values.dataMountPath }}/plugin/audit_log.so /usr/lib64/mysql/plugin/ chown -R mysql:root {{ .Values.dataMountPath }} skip_slave_start="OFF" + export LD_PRELOAD=/tools/lib/libjemalloc.so.2 if [ -f {{ .Values.dataMountPath }}/data/.restore_new_cluster ]; then skip_slave_start="ON" fi diff --git a/addons/mysql/templates/cmpd-mysql84.yaml b/addons/mysql/templates/cmpd-mysql84.yaml index 1291633a4..04be3446c 100644 --- a/addons/mysql/templates/cmpd-mysql84.yaml +++ b/addons/mysql/templates/cmpd-mysql84.yaml @@ -31,6 +31,17 @@ spec: volumeMounts: - mountPath: /tools name: tools + - command: + - cp + - -r + - /jemalloc/lib/ + - /tools/lib + image: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 + imagePullPolicy: {{ default "IfNotPresent" .Values.image.pullPolicy }} + name: init-jemalloc + volumeMounts: + - mountPath: /tools + name: tools {{- include "mysql.spec.runtime.common" . | nindent 6 }} containers: - name: mysql @@ -47,6 +58,7 @@ spec: mkdir -p {{ .Values.dataMountPath }}/{log,binlog,auditlog} chown -R mysql:root {{ .Values.dataMountPath }} skip_slave_start="OFF" + export LD_PRELOAD=/tools/lib/libjemalloc.so.2 if [ -f {{ .Values.dataMountPath }}/data/.restore_new_cluster ]; then skip_slave_start="ON" fi From 9f86759cb1343719d9ba36724de9832fd4f8a4b5 Mon Sep 17 00:00:00 2001 From: xuriwuyun Date: Fri, 8 Nov 2024 15:57:04 +0800 Subject: [PATCH 2/2] update --- addons/mysql/templates/cpmv.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/addons/mysql/templates/cpmv.yaml b/addons/mysql/templates/cpmv.yaml index 561fdc63b..c5221643c 100644 --- a/addons/mysql/templates/cpmv.yaml +++ b/addons/mysql/templates/cpmv.yaml @@ -36,6 +36,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:5.7.44 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:5.7.44 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:2.4 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.30 @@ -45,6 +46,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.30 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.31 @@ -54,6 +56,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.31 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.32 @@ -63,6 +66,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.32 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.33 @@ -72,6 +76,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.33 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.34 @@ -81,6 +86,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.34 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.35 @@ -90,6 +96,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.35 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.36 @@ -99,6 +106,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.36 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.37 @@ -108,6 +116,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.37 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.38 @@ -117,6 +126,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.38 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.0.39 @@ -126,6 +136,7 @@ spec: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.0.39 init-data: {{ .Values.image.registry | default "docker.io" }}/apecloud/mysql_audit_log:8.0.33 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.0 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.4.0 @@ -134,6 +145,7 @@ spec: images: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.4.0 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.4 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.4.1 @@ -142,6 +154,7 @@ spec: images: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.4.1 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.4 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} - name: 8.4.2 @@ -150,5 +163,6 @@ spec: images: mysql: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:8.4.2 init-xtrabackup: {{ .Values.image.registry | default "docker.io" }}/apecloud/xtrabackup:8.4 + init-jemalloc: {{ .Values.image.registry | default "docker.io" }}/apecloud/jemalloc:5.3.0 init-syncer: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.syncer.repository }}:{{ .Values.image.syncer.tag }} init-dbctl: {{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.dbctl.repository }}:{{ .Values.image.dbctl.tag }} \ No newline at end of file