From cd46b3ed5f182b989b1f09d4a7bdd981b8ca7efb Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Sat, 28 Jun 2025 11:23:29 +0800 Subject: [PATCH] add readme --- Others/sysbench/README.md | 62 ++++++++++++++++++++++++++ Others/sysbench/doc/image-info.yml | 60 +++++++++++++++++++++++++ Others/sysbench/doc/picture/logo.png | Bin 0 -> 3016 bytes Others/unixbench/README.md | 46 +++++++++++++++++++ Others/unixbench/doc/image-info.yml | 44 ++++++++++++++++++ Others/unixbench/doc/picture/logo.png | Bin 0 -> 3176 bytes Others/wrk/README.md | 59 ++++++++++++++++++++++++ Others/wrk/doc/image-info.yml | 56 +++++++++++++++++++++++ Others/wrk/doc/picture/logo.png | Bin 0 -> 1549 bytes 9 files changed, 327 insertions(+) create mode 100644 Others/sysbench/README.md create mode 100644 Others/sysbench/doc/image-info.yml create mode 100644 Others/sysbench/doc/picture/logo.png create mode 100644 Others/unixbench/README.md create mode 100644 Others/unixbench/doc/image-info.yml create mode 100644 Others/unixbench/doc/picture/logo.png create mode 100644 Others/wrk/README.md create mode 100644 Others/wrk/doc/image-info.yml create mode 100644 Others/wrk/doc/picture/logo.png diff --git a/Others/sysbench/README.md b/Others/sysbench/README.md new file mode 100644 index 0000000..7583832 --- /dev/null +++ b/Others/sysbench/README.md @@ -0,0 +1,62 @@ +# Quick reference + +- The official sysbench docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# sysbench | openEuler +Current sysbench docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server. + +# Supported tags and respective Dockerfile links +The tag of each `sysbench` docker image is consist of the version of `sysbench` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[1.0.20-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/sysbench/1.0.20/24.03-lts-sp1/Dockerfile)| sysbench 1.0.20 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/sysbench` image from docker + + ```bash + docker pull openeuler/sysbench:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use sysbench. + ``` + docker run -it --rm openeuler/sysbench:{Tag} bash + ``` + +- CPU Benchmark + + Measure how many arithmetic operations (calculating prime numbers) your CPU can perform under multi-threaded load. + Example: + ``` + sysbench cpu --cpu-max-prime=20000 --threads=4 run + ``` + `Options:` + * `--cpu-max-prime=20000`: Defines the maximum prime number to calculate. Higher values generate a heavier CPU worload. + * `--threads=4`: Number of worker threads to use. You can set this according you physical CPU cores. + * `run`: Execute the test. + +- Memory benchmark + + Measure your system`s memory bandwidth by continuously reading and writing memory blocks. + Example: + ``` + sysbench memory --memory-block-size=1M --memory-total-size=10G run + ``` + `Options:` + * `--memory-block-size=1M:` Size of each memory block for read/write operations. Default is 1k. + * `--memory-total-size=10G:` Total amount of data to transfer. Larger values produce more stable results. + * `run:` Execute the test. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/sysbench/doc/image-info.yml b/Others/sysbench/doc/image-info.yml new file mode 100644 index 0000000..098455a --- /dev/null +++ b/Others/sysbench/doc/image-info.yml @@ -0,0 +1,60 @@ +name: sysbench +category: others +description: sysbench 是一个轻量级的、模块化的多线程基准测试工具,常用于测试 Linux 系统的 CPU 性能、内存读写、磁盘 I/O、线程调度、互斥锁,以及数据库(MySQL、PostgreSQL)负载。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + sysbench镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[1.0.20-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/sysbench/1.0.20/24.03-lts-sp1/Dockerfile)| sysbench 1.0.20 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/sysbench:{Tag} + ``` + +usage: | + - 以交互式Shell运行容器: + + 通过交互式 Shell 启动容器,使用sysbench: + ``` + docker run -it --rm openeuler/sysbench:{Tag} bash + ``` + + - CPU测试 + + 模拟大量算术计算,看 CPU 能处理多少次 + ``` + sysbench cpu --cpu-max-prime=20000 --threads=4 run + ``` + **选项:** + * `--cpu-max-prime=20000:` 计算素数的最大值,越大越耗 CPU + * `--threads=4:` 线程数 + * `run:` 执行测试 + + - 内存测试 + + 测试内存读写带宽 + ``` + sysbench memory --memory-block-size=1M --memory-total-size=10G run + ``` + **选项:** + * `--memory-block-size=1M:` 每次读写块大小,默认 1K + * `--memory-total-size=10G:` 总读写数据量 + * `run:` 执行测试 + +license: GPL-2.0 license +similar_packages: + - UnixBench: UnixBench 是一个经典的、跨 Unix/Linux 平台的系统基准测试套件,主要用于衡量操作系统和硬件整体性能表现。 +dependency: + - openssl + - mariadb + - libaio + - pkgconfig + - libtool diff --git a/Others/sysbench/doc/picture/logo.png b/Others/sysbench/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4b31773bf6c2a4d66f2464d14e865372acdc9d04 GIT binary patch literal 3016 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 literal 0 HcmV?d00001 diff --git a/Others/wrk/README.md b/Others/wrk/README.md new file mode 100644 index 0000000..8b2029a --- /dev/null +++ b/Others/wrk/README.md @@ -0,0 +1,59 @@ +# Quick reference + +- The official wrk docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# wrk | openEuler +Current wrk docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue. + +# Supported tags and respective Dockerfile links +The tag of each `wrk` docker image is consist of the version of `wrk` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[4.2.0-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile)| wrk 4.2.0 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/wrk` image from docker + + ```bash + docker pull openeuler/wrk:{Tag} + ``` + +- Run with an interactive shell + + You can start the container with an interactive shell to use wrk. + ``` + docker run -it --rm openeuler/wrk:{Tag} bash + ``` + +- Start a simple HTTP server + + In the directory containing you `index.html` file, run: + ``` + nohup python3 -m http.server 8080 & + ``` + * This command will serve files from the current directory on port `8080`. + * `nohup` and `&` allow the sever to keep running in the background. + +- Run a stress test using `wrk` + + Once the server is running, use `wrk` to generate HTTP load: + ``` + wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html + ``` + `Options:` + * `-t12:` Use 12 threads to generate load. + * `-c400:` Use 400 open HTTP connections. + * `-d30s:` Run the test for 30 seconds. + * `http://127.0.0.1:8080/index.html:` Target URL to test. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/wrk/doc/image-info.yml b/Others/wrk/doc/image-info.yml new file mode 100644 index 0000000..15681f0 --- /dev/null +++ b/Others/wrk/doc/image-info.yml @@ -0,0 +1,56 @@ +name: wrk +category: others +description: wrk 是一个开源的、现代化的 HTTP 压力测试工具,支持多线程、多连接。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + wrk镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[4.2.0-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile)| wrk 4.2.0 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/wrk:{Tag} + ``` + +usage: | + - 以交互式Shell运行容器: + + 通过交互式 Shell 启动容器,使用wrk: + ``` + docker run -it --rm openeuler/wrk:{Tag} bash + ``` + + - 启动一个简单的HTTP服务 + + 在有index.html文件(任意内容)的目录下执行: + ``` + nohup python3 -m http.server 8080 & + ``` + * 该命令会将当前目录作为文件根目录,通过端口 8080 提供 HTTP 服务。 + * 使用 nohup 和 & 可以让服务器在后台持续运行,不会因关闭终端而中断。 + + - 使用 wrk 进行压力测试 + + 当服务器正常运行后,使用 wrk 来生成 HTTP 压力: + ``` + wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html + ``` + `参数说明:` + * `-t12:` 使用 12 个线程来产生负载。 + * `-c400:` 使用 400 个并发 HTTP 连接。 + * `-d30s:` 压测持续 30 秒。 + * `http://127.0.0.1:8080/index.html:` 目标 URL。 + +license: Apache-2.0 License +similar_packages: + - JMeter: Apache JMeter 是一个开源的性能测试工具,主要用于对各种服务进行负载测试和功能测试。 +dependency: + - openssl + - pkgconf diff --git a/Others/wrk/doc/picture/logo.png b/Others/wrk/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a4ccbc93fe6bdcb0cea400d240d953a0abb61d GIT binary patch literal 1549 zcmb7Edo z!)qRwO*D5n$s>MHsw005}F zBb|K!03?+6OeF<*73(gP$^jJTzITN%2!7yxRArtc~c6u&1A4KbQdu?_*;-?=xX45p8 z(}L?*T9&%a_x=10oM8tbzyM^|E%HtWp2B`1NK*sW!OuMC?RqCH286IV+F*G@`W*{QBJ&Q`z`1SOqLGsEs97Uu8QNowb*P>U?jgy zz%!ff#wf||mzHep0WUnKHlKAZOWcr9o*vsiZma18AD2Wc@yk5BCuKEr&4Z!od>LZ~ zK&P8+X-cO*nR{z=u_61kWTs%5j9scpSHl;VrqEMV?MNdMI*zFy z(+0vJwBj()@SCh6#MVG)kyt9*B+pra$;;h1jqn@y zt(KzOKn;Oi4Yq{Th*O3pjk1fdo5n)^hg3`(Ok$a1X*kCd8F_eq{^)j8_+C0TEg8^< za3(|T?-?qB`%#I38p_pZ8q3aFlJ9h4k2L=V>`Wx#VRtlivBSgWjR>Iy^ZJ=vbuY#*$}%_<~4s9$~c>siD6%Zp&?z40&}+kq{`;5uyD5oJdm z&BLqni0ptefo^ACg?Yxjp3Vv$*Hh*A#O7&QvBz*f9~&@ndoHfF0o6}x)r<|?-$cDS zewUO7FTF{JUN4X*`tWR-+_UbE8$M!4)(ArPL&H*LuZ755x+qSlF&3}c zaWS?@QPnFP5`cpNy>}Gvcw6>XArB^d29v51-78^u<$YJJ8g%Y=NQQR-6o4IN7K*N$B` zQ8!z|P(o}skD+L(S_iECXY`on!t0zEe3J#Ma`?%4!`t-*jEXOVY1K_NXrcl9P8T7Y zG~@-VL-tb9P%3<~;1fJCiZ^TQTRD{*l^pR{rjIs$5RQzFudQ)16;TJgER_H9SCSZc za1f8D7F&;CLe0lip*WW&I}>_&Ydo}ST08hfe7JG3gIudS_qkD zh+e_^Nrp}*d~fs`eJ#Vl#s%3@{3T$h8!^tgP)?U}gCT!2bRZ&l=fQl5Zz)^*v0S?e z$xQD#Pz~?=P4$iHrO;)+bL?hI;X2o(a*B}7apFtg&uK2HpKQY;TXOu+e-fC*cs!?r zD}WTlVj~hqdI!U<`N`4=21R{A`9HF_|8&34+gl+0Foy%VR%#C47u;P?&UD1Z-~R=! CT)->< literal 0 HcmV?d00001 -- Gitee