diff --git a/OTHER/redis_optimized_a8/buildspec.yml b/OTHER/redis_optimized_a8/buildspec.yml new file mode 100644 index 0000000000000000000000000000000000000000..7a54d15f7a680363d3e74cd7edeecfd8a3ab90c8 --- /dev/null +++ b/OTHER/redis_optimized_a8/buildspec.yml @@ -0,0 +1,34 @@ +name: &NAME +version: &VERSION +image_type: &IMAGE_TYPE +baseos_version: &BASEOS_VERSION + +# 定义镜像仓库信息 +repository_info: + acr_alinux: &ACR_ALINUX alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3 + acr_anolis: &ACR_ANOLIS anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis + +# 定义镜像测试信息 +t-one: + # 配置测试信息 workspace 和模版 + workspace: &WORKSPACE container_ci_test + project: &PROJECT default_container_ci_test + test_suite: &TEST_SUITE image-ci-test + test_conf: &TEST_CONF group=application_container_func_test + test_case: &TEST_CASE application_container_func_test_default + cloud_server_tag: &CLOUD_SERVER_TAG [anolis-container-ci-x86, anolis-container-ci-arm] + +# 构建镜像配置 +images: + # 分组名称,支持自定义 + BuildNginxKeenTuneECSApplicationDockerImage: + # 定义是否构建参数 + build: true + docker_file: + path: OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile + scene: + args: [] + tags: [20250711-5.0.3-2.4.0] + registry: [*ACR_ANOLIS] + # 测试配置 + test_config: [(*WORKSPACE, *PROJECT, *TEST_SUITE, *TEST_CONF, *TEST_CASE, *CLOUD_SERVER_TAG[0], ''), (*WORKSPACE, *PROJECT, *TEST_SUITE, *TEST_CONF, *TEST_CASE, *CLOUD_SERVER_TAG[1], '')] diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile b/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..e9894a576ec12fb8be385232fd50ef20c35f94f1 --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/Dockerfile @@ -0,0 +1,14 @@ +FROM registry.openanolis.cn/openanolis/anolisos:8.10 + +LABEL \ + org.opencontainers.image.title="redis_keentune_a8" \ + org.opencontainers.image.version="20250711-5.0.3-2.4.0" \ + maintainer="OpenAnolis KeenTune SIG" + +COPY init_redis.sh /usr/local/bin/ +COPY redis_keentune.sh /usr/local/bin/ + +RUN yum install epel-release -y \ + && sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/AnolisOS-Plus.repo; yum clean all; yum makecache +RUN yum install systemd procps-ng redis polkit ethtool irqbalance pciutils numactl python36 git keentuned keentune-target -y +RUN pip3 install pyudev requests -i https://pypi.tuna.tsinghua.edu.cn/simple diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh b/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh new file mode 100755 index 0000000000000000000000000000000000000000..715d44e3ea6ec0007fd17be0720e41fc37863447 --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/init_redis.sh @@ -0,0 +1,25 @@ +redis_port=9400 +instance_num=8 +yum install numactl -y +sed -i "s/^port .*/port $redis_port/" /etc/redis.conf; +sed -i "s/^bind.*/bind 0.0.0.0/" /etc/redis.conf; +sed -i "s#^pidfile.*#pidfile /var/run/redis_$redis_port.pid#" /etc/redis.conf + +for ((i=1;i<$instance_num;i++)) +do + redis_port=$(($redis_port + 1)) + cp /etc/redis.conf /etc/redis.conf$i + chown redis:root /etc/redis.conf$i + mkdir -p /var/lib/redis$i + + sed -i "s/^port .*/port $redis_port/" /etc/redis.conf$i; + sed -i "s#^pidfile.*#pidfile /var/run/redis_$redis_port.pid#" /etc/redis.conf$i; + sed -i "s#^logfile.*#logfile /var/log/redis/redis$i.log#" /etc/redis.conf$i; + sed -i "s#^dir.*#dir /var/lib/redis$i#" /etc/redis.conf$i + sed -i "s/^daemonize no/daemonize yes/" /etc/redis.conf$i; + + numactl -C $i /usr/bin/redis-server /etc/redis.conf$i +done + +numactl -C 0 /usr/bin/redis-server /etc/redis.conf + diff --git a/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh b/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh new file mode 100755 index 0000000000000000000000000000000000000000..c8e53036e3dc3853e49ce4f157d2dc1fe2fb097c --- /dev/null +++ b/OTHER/redis_optimized_a8/v1.1/anolis8/redis_keentune.sh @@ -0,0 +1,8 @@ +#!/bin/bash +nohup keentuned > /dev/null & +nohup keentune-target > /dev/null & +sleep 5 +keentune profile set redis.conf + +bash init_redis.sh + diff --git a/OTHER/redis_optimized_a8/version.yml b/OTHER/redis_optimized_a8/version.yml new file mode 100644 index 0000000000000000000000000000000000000000..a90cf9c7f2bfa4203777c334f497b6dc58455b6b --- /dev/null +++ b/OTHER/redis_optimized_a8/version.yml @@ -0,0 +1,9 @@ +# 版本关系依赖表,默认继承 version-base.yml 配置,可重写覆盖 +BaseDependency: ../version-base.yml +Dependency: + name: redis_optimized_a8 + image_type: other + versions: + 20250711-5.0.3-2.4.0: + baseos_version: *AnolisOS8.10 +