银河麒麟V10系统安装sysbench指南
银河麒麟V10系统安装sysbench指南
基础版
一、在线安装方式(推荐联网环境)
1. 安装依赖包
sudo yum install -y make automake libtool pkgconfig libaio-devel mariadb-devel openssl-devel postgresql-devel
安装过程:
[root@oldnian ~]# sudo yum install -y make automake libtool pkgconfig libaio-devel mariadb-devel openssl-devel postgresql-devel
上次元数据过期检查:0:13:50 前,执行于 2025年06月23日 星期一 00时36分40秒。
软件包 make-1:4.3-1.ky10.x86_64 已安装。
软件包 automake-1.16.2-1.ky10.noarch 已安装。
软件包 libtool-2.4.6-32.ky10.x86_64 已安装。
软件包 pkgconf-1.7.3-2.ky10.x86_64 已安装。
软件包 libaio-devel-0.3.112-1.p01.ky10.x86_64 已安装。
软件包 openssl-devel-1:1.1.1f-4.p24.ky10.x86_64 已安装。
依赖关系解决。
=================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================
安装:
mariadb-devel x86_64 3:10.3.39-1.p01.ky10 ks10-adv-updates 1.0 M
postgresql-devel x86_64 10.5-23.p04.ky10 ks10-adv-updates 1.2 M
安装依赖关系:
mariadb-connector-c-devel x86_64 3.0.6-8.p01.ky10 ks10-adv-updates 47 k
postgresql x86_64 10.5-23.p04.ky10 ks10-adv-updates 909 k
postgresql-libs x86_64 10.5-23.p04.ky10 ks10-adv-updates 248 k
postgresql-server x86_64 10.5-23.p04.ky10 ks10-adv-updates 4.8 M
事务概要
=================================================================================================================================
安装 6 软件包
总下载:8.2 M
安装大小:36 M
下载软件包:
(1/6): mariadb-connector-c-devel-3.0.6-8.p01.ky10.x86_64.rpm 79 kB/s | 47 kB 00:00
(2/6): postgresql-10.5-23.p04.ky10.x86_64.rpm 1.1 MB/s | 909 kB 00:00
(3/6): postgresql-libs-10.5-23.p04.ky10.x86_64.rpm 2.0 MB/s | 248 kB 00:00
(4/6): mariadb-devel-10.3.39-1.p01.ky10.x86_64.rpm 1.0 MB/s | 1.0 MB 00:01
(5/6): postgresql-devel-10.5-23.p04.ky10.x86_64.rpm 2.0 MB/s | 1.2 MB 00:00
(6/6): postgresql-server-10.5-23.p04.ky10.x86_64.rpm 4.2 MB/s | 4.8 MB 00:01
---------------------------------------------------------------------------------------------------------------------------------
总计 4.0 MB/s | 8.2 MB 00:02
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : postgresql-libs-10.5-23.p04.ky10.x86_64 1/6
运行脚本: postgresql-libs-10.5-23.p04.ky10.x86_64 1/6
安装 : postgresql-10.5-23.p04.ky10.x86_64 2/6
运行脚本: postgresql-server-10.5-23.p04.ky10.x86_64 3/6
安装 : postgresql-server-10.5-23.p04.ky10.x86_64 3/6
运行脚本: postgresql-server-10.5-23.p04.ky10.x86_64 3/6
安装 : mariadb-connector-c-devel-3.0.6-8.p01.ky10.x86_64 4/6
安装 : mariadb-devel-3:10.3.39-1.p01.ky10.x86_64 5/6
安装 : postgresql-devel-10.5-23.p04.ky10.x86_64 6/6
运行脚本: postgresql-devel-10.5-23.p04.ky10.x86_64 6/6
验证 : mariadb-connector-c-devel-3.0.6-8.p01.ky10.x86_64 1/6
验证 : mariadb-devel-3:10.3.39-1.p01.ky10.x86_64 2/6
验证 : postgresql-10.5-23.p04.ky10.x86_64 3/6
验证 : postgresql-devel-10.5-23.p04.ky10.x86_64 4/6
验证 : postgresql-libs-10.5-23.p04.ky10.x86_64 5/6
验证 : postgresql-server-10.5-23.p04.ky10.x86_64 6/6
已安装:
mariadb-connector-c-devel-3.0.6-8.p01.ky10.x86_64 mariadb-devel-3:10.3.39-1.p01.ky10.x86_64
postgresql-10.5-23.p04.ky10.x86_64 postgresql-devel-10.5-23.p04.ky10.x86_64
postgresql-libs-10.5-23.p04.ky10.x86_64 postgresql-server-10.5-23.p04.ky10.x86_64
完毕!
[root@oldnian ~]#
说明:
mariadb-devel:支持MySQL测试postgresql-devel:支持PostgreSQL测试
2. 通过Yum安装sysbench
sudo yum install -y sysbench
3. 验证安装
sysbench --version
# 输出示例:sysbench 1.0.20
二、离线安装方式(无网络环境)
1. 在可联网设备下载依赖包
# 创建下载目录
mkdir sysbench_deps
cd sysbench_deps
# 下载sysbench及所有依赖
sudo yum install -y yum-utils
yumdownloader --resolve sysbench
注意:
需确保下载环境与目标系统的架构(x86_64/aarch64)和麒麟版本一致 。
2. 传输并安装到目标服务器
# 将sysbench_deps目录打包
tar -czvf sysbench_deps.tar.gz sysbench_deps
# 传输到目标服务器后解压
tar -xzvf sysbench_deps.tar.gz
cd sysbench_deps
# 批量安装所有RPM包
sudo rpm -ivh *.rpm --nodeps --force
风险提示:
--nodeps --force可能绕过依赖检查,仅建议在依赖齐全时使用。
3. 源码编译安装(备选)
若RPM包不兼容,可源码安装:
# 1. 提前下载源码包(sysbench-1.0.20.zip)
unzip sysbench-1.0.20.zip
cd sysbench-1.0.20
# 2. 编译安装
./autogen.sh
./configure
make
sudo make install
具体执行过程:
[root@oldnian sysbench-master]# ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
libtoolize: copying file 'config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
configure.ac:57: installing 'config/ar-lib'
configure.ac:39: installing 'config/compile'
configure.ac:26: installing 'config/config.guess'
configure.ac:26: installing 'config/config.sub'
configure.ac:31: installing 'config/install-sh'
configure.ac:31: installing 'config/missing'
src/Makefile.am: installing 'config/depcomp'
parallel-tests: installing 'config/test-driver'
autoreconf: Leaving directory `.'
[root@oldnian sysbench-master]# ./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for C compiler vendor... gnu
checking for gcc architecture flag...
checking for x86 cpuid 0 output... 10:68747541:444d4163:69746e65
checking for x86 cpuid 1 output... a50f00:3020800:fef83203:178bfbff
checking whether C compiler accepts -march=amdfam10... yes
checking for gcc architecture flag... -march=amdfam10
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... yes
checking for C compiler vendor... (cached) gnu
checking 32-bit host C ABI... no
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... lib,lib,lib64
checking whether to compile with MySQL support... yes
checking whether to compile with PostgreSQL support... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether to build with system or bundled LuaJIT... bundled
checking whether to build with system or bundled Concurrency Kit... bundled
checking whether SHM_HUGETLB is declared... yes
checking whether O_SYNC is declared... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for sqrt in -lm... yes
checking for mysql_config... /usr/bin/mysql_config
checking MySQL C flags... -I/usr/include/mysql -I/usr/include/mysql/mysql
checking MySQL linker flags... -L/usr/lib64/ -lmariadb -lz -ldl -lm -lpthread -lssl -lcrypto
checking if mysql.h defines MYSQL_OPT_SSL_MODE... no
checking libaio.h usability... yes
checking libaio.h presence... yes
checking for libaio.h... yes
checking for io_queue_init in -laio... yes
checking if io_getevents() has an old interface... no
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/aio.h usability... no
checking sys/aio.h presence... no
checking for sys/aio.h... no
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking thread.h usability... no
checking thread.h presence... no
checking for thread.h... no
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking for off_t... yes
checking for thread local storage (TLS) class... _Thread_local
checking for __attribute__((format))... yes
checking for __attribute__((unused))... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking size of size_t... 8
checking size of bool... 1
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking for library containing clock_gettime... none required
checking for alarm... yes
checking for clock_gettime... yes
checking for directio... no
checking for fdatasync... yes
checking for gettimeofday... yes
checking for isatty... yes
checking for memalign... yes
checking for memset... yes
checking for posix_memalign... yes
checking for pthread_cancel... yes
checking for pthread_yield... yes
checking for setvbuf... yes
checking for sqrt... yes
checking for strdup... yes
checking for thr_setconcurrency... no
checking for valloc... yes
checking for pthread_once... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating third_party/luajit/Makefile
config.status: creating third_party/concurrency_kit/Makefile
config.status: creating src/Makefile
config.status: creating src/drivers/Makefile
config.status: creating src/drivers/mysql/Makefile
config.status: creating src/drivers/pgsql/Makefile
config.status: creating src/tests/Makefile
config.status: creating src/tests/cpu/Makefile
config.status: creating src/tests/fileio/Makefile
config.status: creating src/tests/memory/Makefile
config.status: creating src/tests/threads/Makefile
config.status: creating src/tests/mutex/Makefile
config.status: creating src/lua/Makefile
config.status: creating src/lua/internal/Makefile
config.status: creating tests/Makefile
config.status: creating tests/include/config.sh
config.status: creating snap/snapcraft.yaml
config.status: creating config/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
===============================================================================
sysbench version : 1.1.0
CC : gcc
CFLAGS : -O3 -funroll-loops -ggdb3 -march=amdfam10 -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread
CPPFLAGS : -D_GNU_SOURCE -I$(top_srcdir)/src -I$(abs_top_builddir)/third_party/luajit/inc -I$(abs_top_builddir)/third_party/concurrency_kit/include
LDFLAGS :
LIBS : -laio -lm
prefix : /usr/local
bindir : ${prefix}/bin
libexecdir : ${prefix}/libexec
mandir : ${prefix}/share/man
datadir : ${prefix}/share
MySQL support : yes
PostgreSQL support : no
LuaJIT : bundled
LUAJIT_CFLAGS : -I$(abs_top_builddir)/third_party/luajit/inc
LUAJIT_LIBS : $(abs_top_builddir)/third_party/luajit/lib/libluajit-5.1.a -ldl
LUAJIT_LDFLAGS : -rdynamic
Concurrency Kit : bundled
CK_CFLAGS : -I$(abs_top_builddir)/third_party/concurrency_kit/include
CK_LIBS : $(abs_top_builddir)/third_party/concurrency_kit/lib/libck.a
configure flags :
===============================================================================
[root@oldnian sysbench-master]#
[root@oldnian sysbench-master]# make
Making all in third_party/luajit
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
make -C ./luajit clean
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit/luajit”
make -C src clean
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit/luajit/src”
rm -f luajit libluajit.a libluajit.so host/minilua host/buildvm lj_vm.S lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h host/buildvm_arch.h jit/vmdef.lua *.o host/*.o *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit/luajit/src”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit/luajit”
rm -rf tmp
mkdir tmp
tar -C . -cf - luajit | tar -xf - -C tmp/
chmod -R u+w tmp
make -C tmp/luajit \
PREFIX=/root/sysbench_deps/sysbench-master/third_party/luajit \
INSTALL_INC=/root/sysbench_deps/sysbench-master/third_party/luajit/inc \
install
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit/tmp/luajit”
==== Building LuaJIT 2.1.0-beta3 ====
make -C src
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit/tmp/luajit/src”
HOSTCC host/minilua.o
HOSTLINK host/minilua
DYNASM host/buildvm_arch.h
HOSTCC host/buildvm.o
HOSTCC host/buildvm_asm.o
HOSTCC host/buildvm_peobj.o
HOSTCC host/buildvm_lib.o
HOSTCC host/buildvm_fold.o
HOSTLINK host/buildvm
BUILDVM lj_vm.S
ASM lj_vm.o
CC lj_assert.o
CC lj_gc.o
BUILDVM lj_ffdef.h
CC lj_err.o
CC lj_char.o
BUILDVM lj_bcdef.h
CC lj_bc.o
CC lj_obj.o
CC lj_buf.o
CC lj_str.o
CC lj_tab.o
CC lj_func.o
CC lj_udata.o
CC lj_meta.o
CC lj_debug.o
CC lj_prng.o
CC lj_state.o
CC lj_dispatch.o
CC lj_vmevent.o
CC lj_vmmath.o
CC lj_strscan.o
CC lj_strfmt.o
CC lj_strfmt_num.o
CC lj_serialize.o
CC lj_api.o
CC lj_profile.o
CC lj_lex.o
CC lj_parse.o
CC lj_bcread.o
CC lj_bcwrite.o
CC lj_load.o
CC lj_ir.o
CC lj_opt_mem.o
BUILDVM lj_folddef.h
CC lj_opt_fold.o
CC lj_opt_narrow.o
CC lj_opt_dce.o
CC lj_opt_loop.o
CC lj_opt_split.o
CC lj_opt_sink.o
CC lj_mcode.o
CC lj_snap.o
CC lj_record.o
CC lj_crecord.o
BUILDVM lj_recdef.h
CC lj_ffrecord.o
CC lj_asm.o
CC lj_trace.o
CC lj_gdbjit.o
CC lj_ctype.o
CC lj_cdata.o
CC lj_cconv.o
CC lj_ccall.o
CC lj_ccallback.o
CC lj_carith.o
CC lj_clib.o
CC lj_cparse.o
CC lj_lib.o
CC lj_alloc.o
CC lib_aux.o
BUILDVM lj_libdef.h
CC lib_base.o
CC lib_math.o
CC lib_bit.o
CC lib_string.o
CC lib_table.o
CC lib_io.o
CC lib_os.o
CC lib_package.o
CC lib_debug.o
CC lib_jit.o
CC lib_ffi.o
CC lib_buffer.o
CC lib_init.o
AR libluajit.a
CC luajit.o
BUILDVM jit/vmdef.lua
DYNLINK libluajit.so
LINK luajit
OK Successfully built LuaJIT
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit/tmp/luajit/src”
==== Successfully built LuaJIT 2.1.0-beta3 ====
==== Installing LuaJIT 2.1.0-beta3 to /root/sysbench_deps/sysbench-master/third_party/luajit ====
mkdir -p /root/sysbench_deps/sysbench-master/third_party/luajit/bin /root/sysbench_deps/sysbench-master/third_party/luajit/lib /root/sysbench_deps/sysbench-master/third_party/luajit/inc /root/sysbench_deps/sysbench-master/third_party/luajit/share/man/man1 /root/sysbench_deps/sysbench-master/third_party/luajit/lib/pkgconfig /root/sysbench_deps/sysbench-master/third_party/luajit/share/luajit-2.1.0-beta3/jit /root/sysbench_deps/sysbench-master/third_party/luajit/share/lua/5.1 /root/sysbench_deps/sysbench-master/third_party/luajit/lib/lua/5.1
cd src && install -m 0755 luajit /root/sysbench_deps/sysbench-master/third_party/luajit/bin/luajit-2.1.0-beta3
cd src && test -f libluajit.a && install -m 0644 libluajit.a /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.a || :
rm -f /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2.1.0 /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2
cd src && test -f libluajit.so && \
install -m 0755 libluajit.so /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2.1.0 && \
( ldconfig -n 2>/dev/null /root/sysbench_deps/sysbench-master/third_party/luajit/lib || : ) && \
ln -sf libluajit-5.1.so.2.1.0 /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so && \
ln -sf libluajit-5.1.so.2.1.0 /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2 || :
cd etc && install -m 0644 luajit.1 /root/sysbench_deps/sysbench-master/third_party/luajit/share/man/man1
cd etc && sed -e "s|^prefix=.*|prefix=/root/sysbench_deps/sysbench-master/third_party/luajit|" -e "s|^multilib=.*|multilib=lib|" -e "s|^includedir=.*|includedir=/root/sysbench_deps/sysbench-master/third_party/luajit/inc|" luajit.pc > luajit.pc.tmp && \
install -m 0644 luajit.pc.tmp /root/sysbench_deps/sysbench-master/third_party/luajit/lib/pkgconfig/luajit.pc && \
rm -f luajit.pc.tmp
cd src && install -m 0644 lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h /root/sysbench_deps/sysbench-master/third_party/luajit/inc
cd src/jit && install -m 0644 bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua dis_x86.lua dis_x64.lua dis_arm.lua dis_arm64.lua dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua dis_mips64.lua dis_mips64el.lua vmdef.lua /root/sysbench_deps/sysbench-master/third_party/luajit/share/luajit-2.1.0-beta3/jit
==== Successfully installed LuaJIT 2.1.0-beta3 to /root/sysbench_deps/sysbench-master/third_party/luajit ====
Note: the development releases deliberately do NOT install a symlink for luajit
You can do this now by running this command (with sudo):
ln -sf luajit-2.1.0-beta3 /root/sysbench_deps/sysbench-master/third_party/luajit/bin/luajit
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit/tmp/luajit”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
Making all in third_party/concurrency_kit
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
rm -rf tmp
mkdir tmp
tar -C . -cf - ck | tar -xf - -C tmp/
chmod -R u+w tmp
cd tmp/ck && \
CC="gcc" \
CFLAGS="-O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE " \
LDFLAGS="" \
./configure \
--prefix=/root/sysbench_deps/sysbench-master/third_party/concurrency_kit && \
make && \
make install
Detecting operating system.......success [linux]
Detecting machine architecture...success [x86_64]
Finding dirname command..........success [/usr/bin/dirname]
Determining build directory......success [/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck]
Finding gzip tool................success [/usr/bin/gzip]
Finding suitable compiler........success [/usr/bin/gcc]
Detecting VMA bits...............success [48]
Checking header file usability...success [stdbool.h]
Checking header file usability...success [stddef.h]
Checking header file usability...success [stdint.h]
Checking header file usability...success [string.h]
Detecting git SHA................not within a git repo []
Generating header files..........success
Generating build files...........success
VERSION = 1.0.0
GIT_SHA =
BUILD_DIR = /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck
SRC_DIR = /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck
SYSTEM = linux
PROFILE = x86_64
CC = /usr/bin/gcc
COMPILER = gcc
CFLAGS = -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC
PTHREAD_CFLAGS = -pthread
LD = /usr/bin/gcc
LDNAME = libck.so
LDNAME_VERSION = libck.so.1.0.0
LDNAME_MAJOR = libck.so.0
LDFLAGS = -Wl,-soname,libck.so.0 -m64 -shared -fPIC
GZIP = /usr/bin/gzip -c
CORES = 4
POINTER_PACK = CK_MD_POINTER_PACK_DISABLE
VMA_BITS = 48
MEMORY_MODEL = CK_MD_TSO
RTM = CK_MD_RTM_DISABLE
LSE = CK_MD_LSE_DISABLE
Headers will be installed in /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include
Libraries will be installed in /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib
Documentation will be installed in /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/share/man
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck”
make -C doc all || exit
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
for target in CK_ARRAY_FOREACH ck_array_buffer ck_array_commit ck_array_deinit ck_array_init ck_array_initialized ck_array_length ck_array_put ck_array_put_unique ck_array_remove ck_array_deinit ck_brlock ck_ht_count ck_ht_destroy ck_ht_gc ck_ht_get_spmc ck_ht_grow_spmc ck_ht_hash ck_ht_hash_direct ck_ht_init ck_ht_put_spmc ck_ht_remove_spmc ck_ht_reset_spmc ck_ht_reset_size_spmc ck_ht_set_spmc ck_ht_entry_empty ck_ht_entry_key ck_ht_entry_key_direct ck_ht_entry_key_length ck_ht_entry_key_set ck_ht_entry_key_set_direct ck_ht_entry_set ck_ht_entry_set_direct ck_ht_entry_value_direct ck_ht_entry_value ck_ht_iterator_init ck_ht_next ck_ht_stat ck_bitmap_init ck_bitmap_reset ck_bitmap_set ck_bitmap_bts ck_bitmap_test ck_bitmap_base ck_bitmap_union ck_bitmap_size ck_bitmap_clear ck_bitmap_bits ck_bitmap_buffer ck_bitmap_next ck_bitmap_iterator_init ck_elide ck_epoch_barrier ck_epoch_begin ck_epoch_call ck_epoch_end ck_epoch_init ck_epoch_poll ck_epoch_recycle ck_epoch_register ck_epoch_reclaim ck_epoch_synchronize ck_epoch_unregister ck_hs_gc ck_hs_init ck_hs_destroy CK_HS_HASH ck_hs_apply ck_hs_iterator_init ck_hs_next ck_hs_get ck_hs_put ck_hs_put_unique ck_hs_set ck_hs_fas ck_hs_remove ck_hs_move ck_hs_grow ck_hs_rebuild ck_hs_count ck_hs_reset ck_hs_reset_size ck_hs_stat ck_rhs_gc ck_rhs_init ck_rhs_destroy CK_RHS_HASH ck_rhs_apply ck_rhs_iterator_init ck_rhs_next ck_rhs_get ck_rhs_put ck_rhs_put_unique ck_rhs_set ck_rhs_fas ck_rhs_remove ck_rhs_move ck_rhs_grow ck_rhs_rebuild ck_rhs_count ck_rhs_reset ck_rhs_reset_size ck_rhs_stat ck_rwcohort CK_RWCOHORT_INIT CK_RWCOHORT_INSTANCE CK_RWCOHORT_PROTOTYPE CK_RWCOHORT_READ_LOCK CK_RWCOHORT_READ_UNLOCK CK_RWCOHORT_WRITE_LOCK CK_RWCOHORT_WRITE_UNLOCK ck_cohort CK_COHORT_PROTOTYPE CK_COHORT_TRYLOCK_PROTOTYPE CK_COHORT_INSTANCE CK_COHORT_INIT CK_COHORT_LOCK CK_COHORT_UNLOCK CK_COHORT_TRYLOCK ck_pr ck_pr_fence_acquire ck_pr_fence_release ck_pr_barrier ck_pr_fas ck_pr_fence_atomic ck_pr_fence_atomic_load ck_pr_fence_atomic_store ck_pr_fence_load ck_pr_fence_load_atomic ck_pr_fence_load_store ck_pr_fence_load_depends ck_pr_fence_memory ck_pr_fence_store ck_pr_fence_store_atomic ck_pr_fence_store_load ck_pr_stall ck_pr_faa ck_pr_inc ck_pr_dec ck_pr_not ck_pr_neg ck_pr_add ck_pr_sub ck_pr_and ck_pr_xor ck_pr_or ck_pr_cas ck_pr_bts ck_pr_btc ck_pr_btr ck_pr_store ck_pr_load ck_pr_rtm ck_queue ck_ring_init ck_ring_dequeue_spmc ck_ring_enqueue_spmc ck_ring_enqueue_spmc_size ck_ring_trydequeue_spmc ck_ring_dequeue_spsc ck_ring_enqueue_spsc ck_ring_enqueue_spsc_size ck_ring_size ck_ring_capacity ck_tflock ck_rwlock ck_pflock ck_swlock ck_sequence ck_spinlock; do \
/usr/bin/gzip -c /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target > /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target.3.gz; \
done
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
---[ Manual pages are ready for installation.
make -C src all || exit
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src”
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_centralized.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_centralized.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_combining.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_combining.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_dissemination.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_dissemination.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_tournament.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_tournament.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_mcs.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_mcs.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_epoch.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_epoch.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_ht.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_ht.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hp.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hp.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_rhs.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_rhs.c
/usr/bin/gcc -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O3 -funroll-loops -ggdb3 -march=amdfam10 -D_GNU_SOURCE -fPIC -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_array.o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_array.c
/usr/bin/gcc -Wl,-soname,libck.so.0 -m64 -shared -fPIC -m64 -o /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/libck.so ck_barrier_centralized.o ck_barrier_combining.o ck_barrier_dissemination.o ck_barrier_tournament.o ck_barrier_mcs.o ck_epoch.o ck_ht.o ck_hp.o ck_hs.o ck_rhs.o ck_array.o
ar rcs /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src/libck.a ck_barrier_centralized.o ck_barrier_combining.o ck_barrier_dissemination.o ck_barrier_tournament.o ck_barrier_mcs.o ck_epoch.o ck_ht.o ck_hp.o ck_hs.o ck_rhs.o ck_array.o
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src”
---[ Concurrency Kit has built successfully. You may now "make install".
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck”
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck”
make -C doc all || exit
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
for target in CK_ARRAY_FOREACH ck_array_buffer ck_array_commit ck_array_deinit ck_array_init ck_array_initialized ck_array_length ck_array_put ck_array_put_unique ck_array_remove ck_array_deinit ck_brlock ck_ht_count ck_ht_destroy ck_ht_gc ck_ht_get_spmc ck_ht_grow_spmc ck_ht_hash ck_ht_hash_direct ck_ht_init ck_ht_put_spmc ck_ht_remove_spmc ck_ht_reset_spmc ck_ht_reset_size_spmc ck_ht_set_spmc ck_ht_entry_empty ck_ht_entry_key ck_ht_entry_key_direct ck_ht_entry_key_length ck_ht_entry_key_set ck_ht_entry_key_set_direct ck_ht_entry_set ck_ht_entry_set_direct ck_ht_entry_value_direct ck_ht_entry_value ck_ht_iterator_init ck_ht_next ck_ht_stat ck_bitmap_init ck_bitmap_reset ck_bitmap_set ck_bitmap_bts ck_bitmap_test ck_bitmap_base ck_bitmap_union ck_bitmap_size ck_bitmap_clear ck_bitmap_bits ck_bitmap_buffer ck_bitmap_next ck_bitmap_iterator_init ck_elide ck_epoch_barrier ck_epoch_begin ck_epoch_call ck_epoch_end ck_epoch_init ck_epoch_poll ck_epoch_recycle ck_epoch_register ck_epoch_reclaim ck_epoch_synchronize ck_epoch_unregister ck_hs_gc ck_hs_init ck_hs_destroy CK_HS_HASH ck_hs_apply ck_hs_iterator_init ck_hs_next ck_hs_get ck_hs_put ck_hs_put_unique ck_hs_set ck_hs_fas ck_hs_remove ck_hs_move ck_hs_grow ck_hs_rebuild ck_hs_count ck_hs_reset ck_hs_reset_size ck_hs_stat ck_rhs_gc ck_rhs_init ck_rhs_destroy CK_RHS_HASH ck_rhs_apply ck_rhs_iterator_init ck_rhs_next ck_rhs_get ck_rhs_put ck_rhs_put_unique ck_rhs_set ck_rhs_fas ck_rhs_remove ck_rhs_move ck_rhs_grow ck_rhs_rebuild ck_rhs_count ck_rhs_reset ck_rhs_reset_size ck_rhs_stat ck_rwcohort CK_RWCOHORT_INIT CK_RWCOHORT_INSTANCE CK_RWCOHORT_PROTOTYPE CK_RWCOHORT_READ_LOCK CK_RWCOHORT_READ_UNLOCK CK_RWCOHORT_WRITE_LOCK CK_RWCOHORT_WRITE_UNLOCK ck_cohort CK_COHORT_PROTOTYPE CK_COHORT_TRYLOCK_PROTOTYPE CK_COHORT_INSTANCE CK_COHORT_INIT CK_COHORT_LOCK CK_COHORT_UNLOCK CK_COHORT_TRYLOCK ck_pr ck_pr_fence_acquire ck_pr_fence_release ck_pr_barrier ck_pr_fas ck_pr_fence_atomic ck_pr_fence_atomic_load ck_pr_fence_atomic_store ck_pr_fence_load ck_pr_fence_load_atomic ck_pr_fence_load_store ck_pr_fence_load_depends ck_pr_fence_memory ck_pr_fence_store ck_pr_fence_store_atomic ck_pr_fence_store_load ck_pr_stall ck_pr_faa ck_pr_inc ck_pr_dec ck_pr_not ck_pr_neg ck_pr_add ck_pr_sub ck_pr_and ck_pr_xor ck_pr_or ck_pr_cas ck_pr_bts ck_pr_btc ck_pr_btr ck_pr_store ck_pr_load ck_pr_rtm ck_queue ck_ring_init ck_ring_dequeue_spmc ck_ring_enqueue_spmc ck_ring_enqueue_spmc_size ck_ring_trydequeue_spmc ck_ring_dequeue_spsc ck_ring_enqueue_spsc ck_ring_enqueue_spsc_size ck_ring_size ck_ring_capacity ck_tflock ck_rwlock ck_pflock ck_swlock ck_sequence ck_spinlock; do \
/usr/bin/gzip -c /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target > /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target.3.gz; \
done
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
---[ Manual pages are ready for installation.
make -C src all || exit
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src”
make[3]: 对“all”无需做任何事。
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/src”
---[ Concurrency Kit has built successfully. You may now "make install".
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include || exit
cp /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include/*.h //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include || exit
chmod 644 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/ck_*.h || exit
mkdir -p /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/gcc || exit
cp -r /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include/gcc/* //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/gcc || exit
cp include/ck_md.h //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/ck_md.h || exit
chmod 755 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/gcc
chmod 644 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/gcc/ck_*.h //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/gcc/*/ck_*.h || exit
mkdir -p /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/spinlock || exit
cp -r /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/include/spinlock/* //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/spinlock || exit
chmod 755 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/spinlock
chmod 644 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include/spinlock/*.h || exit
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib
cp src/libck.so //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so.1.0.0
ln -sf libck.so.1.0.0 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so
ln -sf libck.so.1.0.0 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so.0
chmod 744 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so.1.0.0 \
//root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so \
//root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.so.0
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib
cp src/libck.a //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.a
chmod 644 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.a
make -C doc install
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/share/man/man3 || exit
cp *.3.gz //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/share/man/man3 || exit
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck/doc”
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib || exit
mkdir -p //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/pkgconfig || exit
chmod 755 //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/pkgconfig
cp build/ck.pc //root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/pkgconfig/ck.pc || exit
---[ Concurrency Kit has installed successfully.
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/tmp/ck”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
Making all in src
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/src”
Making all in drivers
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers”
Making all in mysql
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I/usr/include/mysql -I/usr/include/mysql/mysql -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbmysql_a-drv_mysql.o -MD -MP -MF .deps/libsbmysql_a-drv_mysql.Tpo -c -o libsbmysql_a-drv_mysql.o `test -f 'drv_mysql.c' || echo './'`drv_mysql.c
In file included from drv_mysql.c:34:0:
/usr/include/mysql/mysql.h:440:3: 警告:函数声明不是一个原型 [-Wstrict-prototypes]
MYSQL_CLIENT_PLUGIN_HEADER
^~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/libsbmysql_a-drv_mysql.Tpo .deps/libsbmysql_a-drv_mysql.Po
rm -f libsbmysql.a
ar cru libsbmysql.a libsbmysql_a-drv_mysql.o
ranlib libsbmysql.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[3]: 对“all-am”无需做任何事。
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers”
Making all in tests
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests”
Making all in cpu
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbcpu_a-sb_cpu.o -MD -MP -MF .deps/libsbcpu_a-sb_cpu.Tpo -c -o libsbcpu_a-sb_cpu.o `test -f 'sb_cpu.c' || echo './'`sb_cpu.c
mv -f .deps/libsbcpu_a-sb_cpu.Tpo .deps/libsbcpu_a-sb_cpu.Po
rm -f libsbcpu.a
ar cru libsbcpu.a libsbcpu_a-sb_cpu.o
ranlib libsbcpu.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
Making all in fileio
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbfileio_a-sb_fileio.o -MD -MP -MF .deps/libsbfileio_a-sb_fileio.Tpo -c -o libsbfileio_a-sb_fileio.o `test -f 'sb_fileio.c' || echo './'`sb_fileio.c
mv -f .deps/libsbfileio_a-sb_fileio.Tpo .deps/libsbfileio_a-sb_fileio.Po
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbfileio_a-crc32.o -MD -MP -MF .deps/libsbfileio_a-crc32.Tpo -c -o libsbfileio_a-crc32.o `test -f 'crc32.c' || echo './'`crc32.c
mv -f .deps/libsbfileio_a-crc32.Tpo .deps/libsbfileio_a-crc32.Po
rm -f libsbfileio.a
ar cru libsbfileio.a libsbfileio_a-sb_fileio.o libsbfileio_a-crc32.o
ranlib libsbfileio.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
Making all in memory
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbmemory_a-sb_memory.o -MD -MP -MF .deps/libsbmemory_a-sb_memory.Tpo -c -o libsbmemory_a-sb_memory.o `test -f 'sb_memory.c' || echo './'`sb_memory.c
sb_memory.c: 在函数‘memory_init’中:
sb_memory.c:199:18: 警告:此函数中的‘buffer’在使用前可能未初始化 [-Wmaybe-uninitialized]
buffers[i] = buffer;
~~~~~~~~~~~^~~~~~~~
mv -f .deps/libsbmemory_a-sb_memory.Tpo .deps/libsbmemory_a-sb_memory.Po
rm -f libsbmemory.a
ar cru libsbmemory.a libsbmemory_a-sb_memory.o
ranlib libsbmemory.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
Making all in threads
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbthreads_a-sb_threads.o -MD -MP -MF .deps/libsbthreads_a-sb_threads.Tpo -c -o libsbthreads_a-sb_threads.o `test -f 'sb_threads.c' || echo './'`sb_threads.c
mv -f .deps/libsbthreads_a-sb_threads.Tpo .deps/libsbthreads_a-sb_threads.Po
rm -f libsbthreads.a
ar cru libsbthreads.a libsbthreads_a-sb_threads.o
ranlib libsbthreads.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
Making all in mutex
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
gcc -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT libsbmutex_a-sb_mutex.o -MD -MP -MF .deps/libsbmutex_a-sb_mutex.Tpo -c -o libsbmutex_a-sb_mutex.o `test -f 'sb_mutex.c' || echo './'`sb_mutex.c
mv -f .deps/libsbmutex_a-sb_mutex.Tpo .deps/libsbmutex_a-sb_mutex.Po
rm -f libsbmutex.a
ar cru libsbmutex.a libsbmutex_a-sb_mutex.o
ranlib libsbmutex.a
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests”
make[3]: 对“all-am”无需做任何事。
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests”
Making all in lua
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua”
Making all in internal
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
Creating sysbench.lua.h from sysbench.lua
Creating sysbench.rand.lua.h from sysbench.rand.lua
Creating sysbench.sql.lua.h from sysbench.sql.lua
Creating sysbench.cmdline.lua.h from sysbench.cmdline.lua
Creating sysbench.histogram.lua.h from sysbench.histogram.lua
make all-am
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[4]: 对“all-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua”
make[3]: 对“all-am”无需做任何事。
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua”
Making all in .
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src”
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sysbench.o -MD -MP -MF .deps/sysbench.Tpo -c -o sysbench.o sysbench.c
mv -f .deps/sysbench.Tpo .deps/sysbench.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_timer.o -MD -MP -MF .deps/sb_timer.Tpo -c -o sb_timer.o sb_timer.c
mv -f .deps/sb_timer.Tpo .deps/sb_timer.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_options.o -MD -MP -MF .deps/sb_options.Tpo -c -o sb_options.o sb_options.c
mv -f .deps/sb_options.Tpo .deps/sb_options.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_logger.o -MD -MP -MF .deps/sb_logger.Tpo -c -o sb_logger.o sb_logger.c
mv -f .deps/sb_logger.Tpo .deps/sb_logger.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT db_driver.o -MD -MP -MF .deps/db_driver.Tpo -c -o db_driver.o db_driver.c
mv -f .deps/db_driver.Tpo .deps/db_driver.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_histogram.o -MD -MP -MF .deps/sb_histogram.Tpo -c -o sb_histogram.o sb_histogram.c
mv -f .deps/sb_histogram.Tpo .deps/sb_histogram.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_rand.o -MD -MP -MF .deps/sb_rand.Tpo -c -o sb_rand.o sb_rand.c
mv -f .deps/sb_rand.Tpo .deps/sb_rand.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_thread.o -MD -MP -MF .deps/sb_thread.Tpo -c -o sb_thread.o sb_thread.c
mv -f .deps/sb_thread.Tpo .deps/sb_thread.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_barrier.o -MD -MP -MF .deps/sb_barrier.Tpo -c -o sb_barrier.o sb_barrier.c
mv -f .deps/sb_barrier.Tpo .deps/sb_barrier.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_lua.o -MD -MP -MF .deps/sb_lua.Tpo -c -o sb_lua.o sb_lua.c
mv -f .deps/sb_lua.Tpo .deps/sb_lua.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_util.o -MD -MP -MF .deps/sb_util.Tpo -c -o sb_util.o sb_util.c
mv -f .deps/sb_util.Tpo .deps/sb_util.Po
gcc -DHAVE_CONFIG_H -I. -I../config -I../src -I/root/sysbench_deps/sysbench-master/third_party/luajit/inc -I/root/sysbench_deps/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/usr/local/share/sysbench\" -DLIBDIR=\"/usr/local/lib/sysbench\" -D_GNU_SOURCE -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -MT sb_counter.o -MD -MP -MF .deps/sb_counter.Tpo -c -o sb_counter.o sb_counter.c
mv -f .deps/sb_counter.Tpo .deps/sb_counter.Po
/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -rdynamic -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o sb_histogram.o sb_rand.o sb_thread.o sb_barrier.o sb_lua.o sb_util.o sb_counter.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/lib64/ -lmariadb -lz -ldl -lm -lpthread -lssl -lcrypto /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.a -ldl /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.a -laio -lm
libtool: link: gcc -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -ggdb3 -march=amdfam10 -rdynamic -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o sb_histogram.o sb_rand.o sb_thread.o sb_barrier.o sb_lua.o sb_util.o sb_counter.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/lib64/ -lmariadb -lz -lpthread -lssl -lcrypto /root/sysbench_deps/sysbench-master/third_party/luajit/lib/libluajit-5.1.a -ldl /root/sysbench_deps/sysbench-master/third_party/concurrency_kit/lib/libck.a -laio -lm -pthread
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/src”
Making all in tests
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/tests”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/tests”
make[1]: 进入目录“/root/sysbench_deps/sysbench-master”
make[1]: 对“all-am”无需做任何事。
make[1]: 离开目录“/root/sysbench_deps/sysbench-master”
[root@oldnian sysbench-master]#
[root@oldnian sysbench-master]#
[root@oldnian sysbench-master]# make install
Making install in third_party/luajit
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/luajit”
Making install in third_party/concurrency_kit
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/third_party/concurrency_kit”
Making install in src
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/src”
Making install in drivers
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers”
Making install in mysql
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers/mysql”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/drivers”
Making install in tests
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests”
Making install in cpu
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/cpu”
Making install in fileio
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/fileio”
Making install in memory
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/memory”
Making install in threads
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/threads”
Making install in mutex
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests/mutex”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/tests”
make[4]: 对“install-exec-am”无需做任何事。
make[4]: 对“install-data-am”无需做任何事。
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/tests”
Making install in lua
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua”
Making install in internal
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make install-am
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[5]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[5]: 对“install-exec-am”无需做任何事。
make[5]: 对“install-data-am”无需做任何事。
make[5]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua/internal”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua”
make[4]: 进入目录“/root/sysbench_deps/sysbench-master/src/lua”
make[4]: 对“install-exec-am”无需做任何事。
/usr/bin/mkdir -p '/usr/local/share/sysbench'
/usr/bin/install -c -m 644 oltp_common.lua '/usr/local/share/sysbench'
/usr/bin/mkdir -p '/usr/local/share/sysbench'
/usr/bin/install -c bulk_insert.lua oltp_delete.lua oltp_insert.lua oltp_read_only.lua oltp_read_write.lua oltp_point_select.lua oltp_update_index.lua oltp_update_non_index.lua oltp_write_only.lua select_random_points.lua select_random_ranges.lua '/usr/local/share/sysbench'
make[4]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src/lua”
Making install in .
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/src”
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/src”
/usr/bin/mkdir -p '/usr/local/bin'
/bin/sh ../libtool --mode=install /usr/bin/install -c sysbench '/usr/local/bin'
libtool: install: /usr/bin/install -c sysbench /usr/local/bin/sysbench
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/src”
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/src”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/src”
Making install in tests
make[1]: 进入目录“/root/sysbench_deps/sysbench-master/tests”
make[2]: 进入目录“/root/sysbench_deps/sysbench-master/tests”
make[2]: 对“install-exec-am”无需做任何事。
make INSTALL_TO_DIR="/usr/local/share/sysbench/tests" install_test_files
make[3]: 进入目录“/root/sysbench_deps/sysbench-master/tests”
make[3]: 离开目录“/root/sysbench_deps/sysbench-master/tests”
/usr/bin/mkdir -p '/usr/local/share/sysbench/tests'
/usr/bin/install -c test_run.sh '/usr/local/share/sysbench/tests'
make[2]: 离开目录“/root/sysbench_deps/sysbench-master/tests”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master/tests”
make[1]: 进入目录“/root/sysbench_deps/sysbench-master”
make[2]: 进入目录“/root/sysbench_deps/sysbench-master”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/root/sysbench_deps/sysbench-master”
make[1]: 离开目录“/root/sysbench_deps/sysbench-master”
三、使用sysbench性能测试示例
1. CPU性能测试
sysbench cpu --cpu-max-prime=20000 run
执行数据:
[root@oldnian sysbench-master]# sysbench cpu --cpu-max-prime=20000 run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1772.47
Throughput:
events/s (eps): 1772.4738
time elapsed: 10.0001s
total number of events: 17725
Latency (ms):
min: 0.54
avg: 0.56
max: 1.73
95th percentile: 0.63
sum: 9979.87
Threads fairness:
events (avg/stddev): 17725.0000/0.00
execution time (avg/stddev): 9.9799/0.00
[root@oldnian sysbench-master]#
输出关键指标:
events per second:每秒完成事件数(越高越好)total time:总耗时
2. 内存性能测试
sysbench memory --memory-block-size=1K --memory-total-size=100G run
[root@oldnian sysbench-master]# sysbench memory --memory-block-size=1K --memory-total-size=100G run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 55319045 (5531849.42 per second)
54022.50 MiB transferred (5402.20 MiB/sec)
Throughput:
events/s (eps): 5531849.4216
time elapsed: 10.0001s
total number of events: 55319045
Latency (ms):
min: 0.00
avg: 0.00
max: 0.59
95th percentile: 0.00
sum: 3065.61
Threads fairness:
events (avg/stddev): 55319045.0000/0.00
execution time (avg/stddev): 3.0656/0.00
[root@oldnian sysbench-master]#
3. MySQL数据库测试
-- 1. 创建测试数据库
CREATE DATABASE sbtest;
-- 2. 准备测试数据
sysbench oltp_read_write \
--db-driver=mysql \
--mysql-host=192.168.187.200 \
--mysql-user=root \
--mysql-password=123456 \
--mysql-db=sbtest \
prepare
-- 3. 执行测试
sysbench oltp_read_write \
--db-driver=mysql \
--mysql-host=192.168.187.200 \
--mysql-user=root \
--mysql-password=123456 \
--threads=8 \
--time=60 \
run
具体压测过程:
[root@oldnian sysbench-master]# sysbench oltp_read_write --db-driver=mysql --mysql-host=192.168.187.200 --mysql-user=root --mysql-password=123456 --mysql-db=sbtest prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Creating table 'sbtest1'...
Inserting 10000 records into 'sbtest1'
Creating a secondary index on 'sbtest1'...
[root@oldnian sysbench-master]# sysbench oltp_read_write \
> --db-driver=mysql \
> --threads=8 \
> --time=60 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 8
Initializing random number generator from current time
Initializing worker threads...
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
(last message repeated 1 times)
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
(last message repeated 1 times)
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
FATAL: unable to connect to MySQL server on host '192.168.187.200', port 3306, aborting...
(last message repeated 1 times)
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
(last message repeated 1 times)
FATAL: error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL: `thread_init' function failed: ./src/lua/oltp_common.lua:356: connection creation failed
FATAL: Threads initialization failed!
[root@oldnian sysbench-master]# sysbench oltp_read_write \
> --db-driver=mysql \
> --mysql-host=192.168.187.200 \
> --mysql-user=root \
> --mysql-password=123456 \
> --threads=8 \
> --time=60 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 8
Initializing random number generator from current time
Initializing worker threads...
Threads started!
SQL statistics:
queries performed:
read: 791476
write: 226136
other: 113068
total: 1130680
transactions: 56534 (942.10 per sec.)
queries: 1130680 (18841.97 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
Throughput:
events/s (eps): 942.0983
time elapsed: 60.0086s
total number of events: 56534
Latency (ms):
min: 2.13
avg: 8.49
max: 47.00
95th percentile: 13.95
sum: 479828.15
Threads fairness:
events (avg/stddev): 7066.7500/60.95
execution time (avg/stddev): 59.9785/0.00
[root@oldnian sysbench-master]#
4. 文件I/O测试
# 生成测试文件
sysbench fileio --file-total-size=10G prepare
# 测试随机读
sysbench fileio --file-test-mode=rndrd run
具体执行过程:
[root@oldnian sysbench-master]# sysbench fileio --file-total-size=10G prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
128 files, 81920Kb each, 10240Mb total
Creating files for the test...
Extra file open flags: (none)
Creating file test_file.0
Creating file test_file.1
Creating file test_file.2
Creating file test_file.3
Creating file test_file.4
Creating file test_file.5
Creating file test_file.6
Creating file test_file.7
Creating file test_file.8
Creating file test_file.9
Creating file test_file.10
Creating file test_file.11
Creating file test_file.12
Creating file test_file.13
Creating file test_file.14
Creating file test_file.15
Creating file test_file.16
Creating file test_file.17
Creating file test_file.18
Creating file test_file.19
Creating file test_file.20
Creating file test_file.21
Creating file test_file.22
Creating file test_file.23
Creating file test_file.24
Creating file test_file.25
Creating file test_file.26
Creating file test_file.27
Creating file test_file.28
Creating file test_file.29
Creating file test_file.30
Creating file test_file.31
Creating file test_file.32
Creating file test_file.33
Creating file test_file.34
Creating file test_file.35
Creating file test_file.36
Creating file test_file.37
Creating file test_file.38
Creating file test_file.39
Creating file test_file.40
Creating file test_file.41
Creating file test_file.42
Creating file test_file.43
Creating file test_file.44
Creating file test_file.45
Creating file test_file.46
Creating file test_file.47
Creating file test_file.48
Creating file test_file.49
Creating file test_file.50
Creating file test_file.51
Creating file test_file.52
Creating file test_file.53
Creating file test_file.54
Creating file test_file.55
Creating file test_file.56
Creating file test_file.57
Creating file test_file.58
Creating file test_file.59
Creating file test_file.60
Creating file test_file.61
Creating file test_file.62
Creating file test_file.63
Creating file test_file.64
Creating file test_file.65
Creating file test_file.66
Creating file test_file.67
Creating file test_file.68
Creating file test_file.69
Creating file test_file.70
Creating file test_file.71
Creating file test_file.72
Creating file test_file.73
Creating file test_file.74
Creating file test_file.75
Creating file test_file.76
Creating file test_file.77
Creating file test_file.78
Creating file test_file.79
Creating file test_file.80
Creating file test_file.81
Creating file test_file.82
Creating file test_file.83
Creating file test_file.84
Creating file test_file.85
Creating file test_file.86
Creating file test_file.87
Creating file test_file.88
Creating file test_file.89
Creating file test_file.90
Creating file test_file.91
Creating file test_file.92
Creating file test_file.93
Creating file test_file.94
Creating file test_file.95
Creating file test_file.96
Creating file test_file.97
Creating file test_file.98
Creating file test_file.99
Creating file test_file.100
Creating file test_file.101
Creating file test_file.102
Creating file test_file.103
Creating file test_file.104
Creating file test_file.105
Creating file test_file.106
Creating file test_file.107
Creating file test_file.108
Creating file test_file.109
Creating file test_file.110
Creating file test_file.111
Creating file test_file.112
Creating file test_file.113
Creating file test_file.114
Creating file test_file.115
Creating file test_file.116
Creating file test_file.117
Creating file test_file.118
Creating file test_file.119
Creating file test_file.120
Creating file test_file.121
Creating file test_file.122
Creating file test_file.123
Creating file test_file.124
Creating file test_file.125
Creating file test_file.126
Creating file test_file.127
10737418240 bytes written in 21.91 seconds (467.46 MiB/sec).
[root@oldnian sysbench-master]# sysbench fileio --file-test-mode=rndrd run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Initializing worker threads...
Threads started!
Throughput:
read: IOPS=8147.81 127.31 MiB/s (133.49 MB/s)
write: IOPS=0.00 0.00 MiB/s (0.00 MB/s)
fsync: IOPS=0.00
Latency (ms):
min: 0.00
avg: 0.12
max: 4.71
95th percentile: 0.28
sum: 9878.37
[root@oldnian sysbench-master]#
四、注意事项与故障排除
1. 依赖问题处理
错误提示
:
libmysqlclient.so.18 not found
解决
:手动链接库文件:
sudo ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib64/
2. 测试参数优化建议
| 参数 | 说明 | 示例值 |
|---|---|---|
--threads |
并发线程数 | 8/16/32 |
--time |
测试时长(秒) | 60 |
--oltp-table-size |
测试表数据量 | 1000000 |
3. 安全建议
-
数据库测试后清理数据:
sysbench oltp_read_write ... cleanup -
避免在生产环境直接测试,可能影响服务稳定性。
五、附录:常用命令速查
| 命令 | 功能 |
|---|---|
sysbench cpu run |
CPU测试 |
sysbench memory run |
内存测试 |
sysbench fileio prepare |
生成I/O测试文件 |
sysbench oltp_read_write run |
数据库OLTP测试 |
通过本文方案,可在银河麒麟V10上快速部署sysbench进行系统性能评估。离线安装时务必确保依赖包版本匹配,避免兼容性问题。
进阶版
以下是在银河麒麟V10系统中结合MySQL配置(mysql -uroot -p123456)执行sysbench四大性能测试的完整操作指南,涵盖CPU测试、内存测试、文件I/O测试和数据库OLTP测试,并附结果解析与优化建议。
⚙️ 七、测试前准备
1. 确认环境与依赖
# 检查sysbench版本(需≥1.0.17)
sysbench --version
# 安装缺失依赖(麒麟V10需额外安装)
sudo yum install -y libaio-devel mariadb-devel openssl-devel
2. 创建测试数据库(OLTP测试专用)
mysql -uroot -p123456 -e "CREATE DATABASE sbtest;"
⚡ 八、CPU性能测试
1. 测试命令
sysbench cpu \
--cpu-max-prime=20000 \
--threads=8 \
run
具体执行过程:
[root@oldnian sysbench-master]# sysbench cpu \
> --cpu-max-prime=20000 \
> --threads=8 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 8
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 5317.86
Throughput:
events/s (eps): 5317.8637
time elapsed: 10.0010s
total number of events: 53184
Latency (ms):
min: 0.54
avg: 1.50
max: 57.16
95th percentile: 4.41
sum: 79802.46
Threads fairness:
events (avg/stddev): 6648.0000/274.62
execution time (avg/stddev): 9.9753/0.02
[root@oldnian sysbench-master]#
参数说明:
--cpu-max-prime=20000:计算20,000以内素数(值越大压力越大)--threads=8:并发线程数(建议设为CPU核心数)
2. 关键结果解读
events per second: 1028.47 # 每秒完成事件数(越高越好)
95th percentile: 0.98ms # 95%任务延迟≤0.98ms(越低越好)
优化建议:
- 若
events/s低于同配置基准值(如CentOS7的1028),需检查CPU调度策略或散热问题。
💾 九、内存性能测试
1. 测试命令
sysbench memory \
--memory-block-size=1K \
--memory-total-size=10G \
--threads=4 \
run
具体测试命令过程:
[root@oldnian sysbench-master]# sysbench memory \
> --memory-block-size=1K \
> --memory-total-size=10G \
> --threads=4 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 10240MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 10485760 (12327329.51 per second)
10240.00 MiB transferred (12038.41 MiB/sec)
Throughput:
events/s (eps): 12327329.5117
time elapsed: 0.8506s
total number of events: 10485760
Latency (ms):
min: 0.00
avg: 0.00
max: 7.86
95th percentile: 0.00
sum: 1382.81
Threads fairness:
events (avg/stddev): 2621440.0000/0.00
execution time (avg/stddev): 0.3457/0.01
[root@oldnian sysbench-master]#
参数说明:
--memory-block-size=1K:每次操作数据块大小--memory-total-size=10G:测试总数据量
2. 关键结果解读
Total operations: 10485760 ( 8746.32 per second) # 每秒操作数
Transfer rate: 8.55 MB/s # 内存带宽
优化建议:
- DDR5内存带宽应≥40GB/s,若低于此值需检查内存通道配置或BIOS设置。
📁 十、文件I/O测试(生成测试文件+性能测试)
1. 生成测试文件
# 创建10G测试文件(需确保磁盘空间≥10G)
sysbench fileio \
--file-total-size=10G \
--file-num=8 \
prepare
#具体测试命令过程:
[root@oldnian sysbench-master]# sysbench fileio \
> --file-total-size=10G \
> --file-num=8 \
> prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
8 files, 1310720Kb each, 10240Mb total
Creating files for the test...
Extra file open flags: (none)
Extending existing file test_file.0
Extending existing file test_file.1
Extending existing file test_file.2
Extending existing file test_file.3
Extending existing file test_file.4
Extending existing file test_file.5
Extending existing file test_file.6
Extending existing file test_file.7
10066329600 bytes written in 20.56 seconds (466.87 MiB/sec).
2. 执行混合读写测试
sysbench fileio \
--file-total-size=10G \
--file-test-mode=rndrw \
--time=60 \
--threads=4 \
run
#具体测试命令过程:
[root@oldnian sysbench-master]# sysbench fileio \
> --file-total-size=10G \
> --file-test-mode=rndrw \
> --time=60 \
> --threads=4 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 80MiB each
10GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
FATAL: Failed to fsync file! file: 0 errno = 22 (Invalid argument)
参数说明:
--file-test-mode=rndrw:随机读写混合模式(模拟真实负载)--time=60:持续60秒测试
3. 关键结果解读
Read Throughput: 45.21MB/s # 读取吞吐量
Write Throughput: 30.15MB/s # 写入吞吐量
95th Percentile Latency: 12.7ms # 95%请求延迟
优化建议:
- 若SSD延迟>5ms或吞吐量<500MB/s,需检查RAID/文件系统(建议XFS)或启用
direct I/O。
🗃️ 十一、数据库OLTP测试
1. 生成测试数据
sysbench oltp_read_write \
--db-driver=mysql \
--mysql-host=192.168.187.202 \
--mysql-user=root \
--mysql-password=123456 \
--mysql-db=sbtest \
--table-size=1000000 \
--tables=8 \
prepare
具体测试过程:
[root@oldnian sysbench-master]# sysbench oltp_read_write --db-driver=mysql --mysql-host=192.168.187.200 --mysql-user=root --mysql-password=123456 --mysql-db=sbtest --table-size=1000000 --tables=8 prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Creating table 'sbtest1'...
Inserting 1000000 records into 'sbtest1'
Creating a secondary index on 'sbtest1'...
Creating table 'sbtest2'...
Inserting 1000000 records into 'sbtest2'
Creating a secondary index on 'sbtest2'...
Creating table 'sbtest3'...
Inserting 1000000 records into 'sbtest3'
Creating a secondary index on 'sbtest3'...
Creating table 'sbtest4'...
Inserting 1000000 records into 'sbtest4'
Creating a secondary index on 'sbtest4'...
Creating table 'sbtest5'...
Inserting 1000000 records into 'sbtest5'
Creating a secondary index on 'sbtest5'...
Creating table 'sbtest6'...
Inserting 1000000 records into 'sbtest6'
Creating a secondary index on 'sbtest6'...
Creating table 'sbtest7'...
Inserting 1000000 records into 'sbtest7'
Creating a secondary index on 'sbtest7'...
Creating table 'sbtest8'...
Inserting 1000000 records into 'sbtest8'
Creating a secondary index on 'sbtest8'...
[root@oldnian sysbench-master]#
#验证数据量
mysql> select count(*) from sbtest4,sbtest5,sbtest6,sbtest7,sbtest8,sbtest3,sbtest1,sbtest2;
+---------------------+
| count(*) |
+---------------------+
| 9169610316303040512 |
+---------------------+
1 row in set (3.11 sec)
mysql> select * from sbtest1 limit 20;
+----+--------+-------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| id | k | c | pad |
+----+--------+-------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------+
| 1 | 428329 | 83868641912-28773972837-60736120486-75162659906-27563526494-20381887404-41576422241-93426793964-56405065102-33518432330 | 67847967377-48000963322-62604785301-91415491898-96926520291 |
| 2 | 696834 | 38014276128-25250245652-62722561801-27818678124-24890218270-18312424692-92565570600-36243745486-21199862476-38576014630 | 23183251411-36241541236-31706421314-92007079971-60663066966 |
| 3 | 926029 | 33973744704-80540844748-72700647445-87330233173-87249600839-07301471459-22846777364-58808996678-64607045326-48799346817 | 38615512647-91458489257-90681424432-95014675832-60408598704 |
| 4 | 701319 | 37002370280-58842166667-00026392672-77506866252-09658311935-56926959306-83464667271-94685475868-28264244556-14550208498 | 63947013338-98809887124-59806726763-79831528812-45582457048 |
| 5 | 481214 | 44257470806-17967007152-32809666989-26174672567-29883439075-95767161284-94957565003-35708767253-53935174705-16168070783 | 34551750492-67990399350-81179284955-79299808058-21257255869 |
| 6 | 558434 | 37216201353-39109531021-11197415756-87798784755-02463049870-83329763120-57551308766-61100580113-80090253566-30971527105 | 05161542529-00085727016-35134775864-52531204064-98744439797 |
| 7 | 637084 | 33071042495-29920376648-91343430102-79082003121-73317691963-02846712788-88069761578-14885283975-44409837760-90760298045 | 91798303270-64988107984-08161247972-12116454627-22996445111 |
| 8 | 493754 | 73754818686-04889373966-18668178968-56957589012-31352882173-91882653509-59577900152-88962682169-52981807259-62646890059 | 76460662325-41613089656-42706083314-81833284991-17063140920 |
| 9 | 143616 | 26482547570-00155460224-12388481921-23289186371-78242522654-77998886134-73270876420-50821093220-31442690639-11588920653 | 30508501104-50823269125-88107014550-70202920684-95842308929 |
| 10 | 522915 | 80707408529-50567701755-94710751896-99750913740-12893433455-71449705205-06190682370-44407762850-72484044178-50518730145 | 62779785163-72948938250-41369758259-80996497836-62655463951 |
| 11 | 455285 | 36136545002-86991679216-03626334357-76004089615-79374967509-18534984815-05132458464-89989437682-83510632788-12432287646 | 48573666000-08738799548-77636362790-42210907101-93959032950 |
| 12 | 991752 | 09541621871-07745451544-86066369281-11914125493-19870176899-61795004975-23290516920-73643807748-74786437698-52733733610 | 96342150431-06343701782-81892924588-00981118830-88451196139 |
| 13 | 56624 | 01877680294-77233412754-51137257355-53666692787-52764669315-17631954384-86640167063-19920714065-41378429761-91537156169 | 48448536455-20468184091-91553509501-43838086179-53174613680 |
| 14 | 792238 | 33740308365-39166188520-01682550323-83007641809-43240305797-03977684459-82195791961-50424044606-62545300617-65290792867 | 78807652152-78313318846-42431475196-47944829954-29585828954 |
| 15 | 913062 | 34970221859-99698108169-07142919560-98903199891-66744672791-96334514604-49208641542-88329768174-54414112722-66897927419 | 74534326291-11150330256-87932479390-72544188925-11601655822 |
| 16 | 921994 | 74631933003-43390307278-63258399899-26720471559-03326667493-40796193207-09735926091-39669580589-48659364378-15084254276 | 03876524453-13729490888-27847301519-41380944459-32695775352 |
| 17 | 79246 | 93052222322-14980867581-16008150406-96939000857-33201893419-58487428638-54528010818-29164157635-52981124037-43290732502 | 76677112276-46213345089-38444960911-16410303610-51807024013 |
| 18 | 878843 | 56783011387-27116056038-48067486493-29455758906-20469605654-72212829918-34540271079-60725552557-97929156311-02224932189 | 76341025872-59718392188-01679600590-23868062697-82489882203 |
| 19 | 242781 | 38902235195-81188119393-70390525549-27200428859-46388097114-24752507752-17476733382-82083956099-59533464585-17058432249 | 21897048450-35863093719-54537798623-51894566432-59241353840 |
| 20 | 804858 | 68605640865-88310163057-64728225453-65726328661-93025739623-80884820952-94113467186-89069937514-29117949824-56004288798 | 31505394960-75815870051-12245603725-48581079925-89471354580 |
+----+--------+-------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------+
20 rows in set (0.00 sec)
mysql>
mysql> select * from sbtest1 limit 20\G;
*************************** 1. row ***************************
id: 1
k: 428329
c: 83868641912-28773972837-60736120486-75162659906-27563526494-20381887404-41576422241-93426793964-56405065102-33518432330
pad: 67847967377-48000963322-62604785301-91415491898-96926520291
*************************** 2. row ***************************
id: 2
k: 696834
c: 38014276128-25250245652-62722561801-27818678124-24890218270-18312424692-92565570600-36243745486-21199862476-38576014630
pad: 23183251411-36241541236-31706421314-92007079971-60663066966
*************************** 3. row ***************************
id: 3
k: 926029
c: 33973744704-80540844748-72700647445-87330233173-87249600839-07301471459-22846777364-58808996678-64607045326-48799346817
pad: 38615512647-91458489257-90681424432-95014675832-60408598704
*************************** 4. row ***************************
id: 4
k: 701319
c: 37002370280-58842166667-00026392672-77506866252-09658311935-56926959306-83464667271-94685475868-28264244556-14550208498
pad: 63947013338-98809887124-59806726763-79831528812-45582457048
*************************** 5. row ***************************
id: 5
k: 481214
c: 44257470806-17967007152-32809666989-26174672567-29883439075-95767161284-94957565003-35708767253-53935174705-16168070783
pad: 34551750492-67990399350-81179284955-79299808058-21257255869
*************************** 6. row ***************************
id: 6
k: 558434
c: 37216201353-39109531021-11197415756-87798784755-02463049870-83329763120-57551308766-61100580113-80090253566-30971527105
pad: 05161542529-00085727016-35134775864-52531204064-98744439797
*************************** 7. row ***************************
id: 7
k: 637084
c: 33071042495-29920376648-91343430102-79082003121-73317691963-02846712788-88069761578-14885283975-44409837760-90760298045
pad: 91798303270-64988107984-08161247972-12116454627-22996445111
*************************** 8. row ***************************
id: 8
k: 493754
c: 73754818686-04889373966-18668178968-56957589012-31352882173-91882653509-59577900152-88962682169-52981807259-62646890059
pad: 76460662325-41613089656-42706083314-81833284991-17063140920
*************************** 9. row ***************************
id: 9
k: 143616
c: 26482547570-00155460224-12388481921-23289186371-78242522654-77998886134-73270876420-50821093220-31442690639-11588920653
pad: 30508501104-50823269125-88107014550-70202920684-95842308929
*************************** 10. row ***************************
id: 10
k: 522915
c: 80707408529-50567701755-94710751896-99750913740-12893433455-71449705205-06190682370-44407762850-72484044178-50518730145
pad: 62779785163-72948938250-41369758259-80996497836-62655463951
*************************** 11. row ***************************
id: 11
k: 455285
c: 36136545002-86991679216-03626334357-76004089615-79374967509-18534984815-05132458464-89989437682-83510632788-12432287646
pad: 48573666000-08738799548-77636362790-42210907101-93959032950
*************************** 12. row ***************************
id: 12
k: 991752
c: 09541621871-07745451544-86066369281-11914125493-19870176899-61795004975-23290516920-73643807748-74786437698-52733733610
pad: 96342150431-06343701782-81892924588-00981118830-88451196139
*************************** 13. row ***************************
id: 13
k: 56624
c: 01877680294-77233412754-51137257355-53666692787-52764669315-17631954384-86640167063-19920714065-41378429761-91537156169
pad: 48448536455-20468184091-91553509501-43838086179-53174613680
*************************** 14. row ***************************
id: 14
k: 792238
c: 33740308365-39166188520-01682550323-83007641809-43240305797-03977684459-82195791961-50424044606-62545300617-65290792867
pad: 78807652152-78313318846-42431475196-47944829954-29585828954
*************************** 15. row ***************************
id: 15
k: 913062
c: 34970221859-99698108169-07142919560-98903199891-66744672791-96334514604-49208641542-88329768174-54414112722-66897927419
pad: 74534326291-11150330256-87932479390-72544188925-11601655822
*************************** 16. row ***************************
id: 16
k: 921994
c: 74631933003-43390307278-63258399899-26720471559-03326667493-40796193207-09735926091-39669580589-48659364378-15084254276
pad: 03876524453-13729490888-27847301519-41380944459-32695775352
*************************** 17. row ***************************
id: 17
k: 79246
c: 93052222322-14980867581-16008150406-96939000857-33201893419-58487428638-54528010818-29164157635-52981124037-43290732502
pad: 76677112276-46213345089-38444960911-16410303610-51807024013
*************************** 18. row ***************************
id: 18
k: 878843
c: 56783011387-27116056038-48067486493-29455758906-20469605654-72212829918-34540271079-60725552557-97929156311-02224932189
pad: 76341025872-59718392188-01679600590-23868062697-82489882203
*************************** 19. row ***************************
id: 19
k: 242781
c: 38902235195-81188119393-70390525549-27200428859-46388097114-24752507752-17476733382-82083956099-59533464585-17058432249
pad: 21897048450-35863093719-54537798623-51894566432-59241353840
*************************** 20. row ***************************
id: 20
k: 804858
c: 68605640865-88310163057-64728225453-65726328661-93025739623-80884820952-94113467186-89069937514-29117949824-56004288798
pad: 31505394960-75815870051-12245603725-48581079925-89471354580
20 rows in set (0.00 sec)
ERROR:
No query specified
mysql>
mysql> show create table sbtest1;
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| sbtest1 | CREATE TABLE `sbtest1` (
`id` int NOT NULL AUTO_INCREMENT,
`k` int NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `k_1` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
mysql> explain select count(*) from sbtest4,sbtest5,sbtest6,sbtest7,sbtest8,sbtest3,sbtest1,sbtest2;
+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+
| 1 | SIMPLE | sbtest4 | NULL | index | NULL | k_4 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest5 | NULL | index | NULL | k_5 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest6 | NULL | index | NULL | k_6 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest7 | NULL | index | NULL | k_7 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest8 | NULL | index | NULL | k_8 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest3 | NULL | index | NULL | k_3 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest1 | NULL | index | NULL | k_1 | 4 | NULL | 986400 | 100.00 | Using index |
| 1 | SIMPLE | sbtest2 | NULL | index | NULL | k_2 | 4 | NULL | 986400 | 100.00 | Using index |
+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+
8 rows in set, 1 warning (0.00 sec)
mysql> explain select count(*) from sbtest4\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: sbtest4
partitions: NULL
type: index
possible_keys: NULL
key: k_4
key_len: 4
ref: NULL
rows: 986400
filtered: 100.00
Extra: Using index
1 row in set, 1 warning (0.00 sec)
ERROR:
No query specified
mysql>
参数说明:
--table-size=1000000:每张表100万行--tables=8:创建8张表(总数据量≈1.2GB)
2. 执行OLTP读写测试
sysbench oltp_read_write \
--db-driver=mysql \
--mysql-host=192.168.187.200 \
--mysql-user=root \
--mysql-password=123456 \
--mysql-db=sbtest \
--threads=16 \
--time=120 \
--report-interval=10 \
run
#具体执行过程如下:
[root@oldnian sysbench-master]# sysbench oltp_read_write \
> --db-driver=mysql \
> --mysql-host=192.168.187.200 \
> --mysql-user=root \
> --mysql-password=123456 \
> --mysql-db=sbtest \
> --threads=16 \
> --time=120 \
> --report-interval=10 \
> run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 16
Report intermediate results every 10 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 10s ] thds: 16 tps: 1039.89 qps: 20818.23 (r/w/o: 14576.21/4160.65/2081.37) lat (ms,95%): 29.72 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 16 tps: 1069.76 qps: 21393.37 (r/w/o: 14974.82/4279.03/2139.52) lat (ms,95%): 28.67 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 16 tps: 1084.28 qps: 21693.19 (r/w/o: 15184.58/4340.04/2168.57) lat (ms,95%): 28.16 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 16 tps: 992.28 qps: 19847.12 (r/w/o: 13893.53/3969.02/1984.56) lat (ms,95%): 30.81 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 16 tps: 1079.34 qps: 21577.56 (r/w/o: 15104.10/4314.77/2158.69) lat (ms,95%): 27.66 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 16 tps: 1086.38 qps: 21725.42 (r/w/o: 15207.36/4345.30/2172.75) lat (ms,95%): 27.66 err/s: 0.00 reconn/s: 0.00
[ 70s ] thds: 16 tps: 1043.41 qps: 20863.95 (r/w/o: 14603.10/4174.03/2086.81) lat (ms,95%): 29.19 err/s: 0.00 reconn/s: 0.00
[ 80s ] thds: 16 tps: 1050.30 qps: 21019.39 (r/w/o: 14716.07/4202.72/2100.61) lat (ms,95%): 28.16 err/s: 0.00 reconn/s: 0.00
[ 90s ] thds: 16 tps: 1062.79 qps: 21244.49 (r/w/o: 14870.45/4248.56/2125.48) lat (ms,95%): 27.66 err/s: 0.00 reconn/s: 0.00
[ 100s ] thds: 16 tps: 1061.91 qps: 21243.48 (r/w/o: 14871.22/4248.34/2123.92) lat (ms,95%): 27.66 err/s: 0.00 reconn/s: 0.00
[ 110s ] thds: 16 tps: 1058.85 qps: 21178.96 (r/w/o: 14825.74/4235.51/2117.71) lat (ms,95%): 28.67 err/s: 0.00 reconn/s: 0.00
[ 120s ] thds: 16 tps: 1052.22 qps: 21044.28 (r/w/o: 14729.67/4210.18/2104.44) lat (ms,95%): 28.16 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 1775634
write: 507324
other: 253662
total: 2536620
transactions: 126831 (1056.44 per sec.)
queries: 2536620 (21128.87 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
Throughput:
events/s (eps): 1056.4433
time elapsed: 120.0547s
total number of events: 126831
Latency (ms):
min: 2.09
avg: 15.14
max: 145.61
95th percentile: 28.67
sum: 1919734.23
Threads fairness:
events (avg/stddev): 7926.9375/61.05
execution time (avg/stddev): 119.9834/0.01
[root@oldnian sysbench-master]#
参数说明:
--threads=16:模拟16并发客户端--report-interval=10:每10秒输出一次报告
3. 关键结果解读
TPS: 520.6 # 每秒事务数(核心指标)
QPS: 10412 # 每秒SQL查询数
95th Percentile Latency: 45ms # 95%事务延迟
优化建议:
- TPS低于500时,需优化MySQL配置(如
innodb_buffer_pool_size设为内存70%)或检查锁竞争。
🧹 十二、测试后清理
# 删除I/O测试文件
sysbench fileio --file-total-size=10G cleanup
# 清除OLTP测试数据
sysbench oltp_read_write \
--db-driver=mysql \
--mysql-host=192.168.187.200 \
--mysql-user=root \
--mysql-password=123456 \
--mysql-db=sbtest \
cleanup
#具体执行过程如下:
[root@oldnian sysbench-master]# sysbench fileio --file-total-size=10G cleanup
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Removing test files...
[root@oldnian sysbench-master]#
[root@oldnian sysbench-master]# sysbench oltp_read_write \
> --db-driver=mysql \
> --mysql-host=192.168.187.200 \
> --mysql-user=root \
> --mysql-password=123456 \
> --mysql-db=sbtest \
> cleanup
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Dropping table 'sbtest1'...
[root@oldnian sysbench-master]#
⚠️ 注意事项与高级技巧
-
环境一致性:
- 每次测试前重启MySQL:
sudo systemctl restart mysqld - 关闭非必要进程,避免干扰结果
- 每次测试前重启MySQL:
-
参数调优参考
测试类型 关键参数 推荐值 CPU --cpu-max-prime20000~50000 内存 --memory-total-size≥内存容量50% OLTP --table-size≥100万行/表 -
生产环境警告:
- OLTP测试会覆盖原数据,切勿在生产库直接操作!
- 文件I/O测试可能耗尽磁盘空间,完成后务必清理。
通过上述四类测试,可全面评估系统在CPU计算、内存吞吐、磁盘I/O及数据库负载下的性能表现。建议多次测试取平均值,并对比银河麒麟V10官方基准数据(如UnixBench领先17%)以定位瓶颈。
十三-FAQ
MySQL 权限故障复盘报告
1. 故障概述
- 故障现象:在银河麒麟V10系统中,执行
sysbench oltp_read_write测试时,MySQL 5.6.48 持续返回Access denied for user 'root'@'oldnian'错误,尽管已多次调整权限配置。 - 影响范围:
- 无法完成数据库压测任务
- 权限修复操作耗时超预期(>2小时)
- 核心问题:MySQL 用户权限优先级冲突与匿名账户干扰
2. 环境信息
| 组件 | 版本/配置 |
|---|---|
| 操作系统 | 银河麒麟V10 (Kylin Linux) |
| MySQL 版本 | 5.6.48 Community Server |
| 客户端主机 | oldnian (IP: 192.168.187.202) |
| 测试工具 | sysbench 1.1.0 |
| 测试命令 | oltp_read_write 准备1亿行数据 |
3. 故障时间线
3.1 初始故障(00:00)
sysbench oltp_read_write --db-driver=mysql [...] prepare
FATAL: error 1045: Access denied for user 'root'@'oldnian'
3.2 修复尝试过程
| 时间 | 操作 | 结果 | 引用依据 |
|---|---|---|---|
| 00:15 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password |
失败:语法不兼容 | |
| 00:25 | SET PASSWORD FOR 'root'@'%' = PASSWORD('123456') |
执行成功但未解决问题 | |
| 00:35 | 直接更新 mysql.user 表设置 plugin 和 password 字段 |
更新成功但连接仍被拒绝 | |
| 01:00 | 删除匿名用户 (DELETE FROM mysql.user WHERE user='') |
短暂生效,重启后问题复现 | |
| 01:30 | 添加 skip-name-resolve 并重启服务 |
最终解决 |
4. 根本原因分析
4.1 直接原因
- 权限优先级冲突:MySQL 5.6 存在多个
root账户(localhost、oldnian、%),优先匹配主机名精确的条目(如root@oldnian),而该条目未正确授权。 - 匿名用户干扰:默认安装包含匿名账户(
''@'localhost'),在认证时优先于root@%匹配,导致密码验证失败。
4.2 深层原因
- 版本兼容性问题
MySQL 5.6 不支持 MySQL 8.0 的ALTER USER语法,错误使用高版本命令导致修复无效。 - DNS解析干扰
未启用skip-name-resolve时,MySQL 尝试解析客户端主机名oldnian,若解析失败或与权限表不匹配则触发拒绝。 - 权限刷新机制缺陷
直接修改mysql.user表后未彻底重启服务,内存中的权限缓存未更新。
5. 解决方案与验证
5.1 最终有效步骤
-- 1. 清理冲突账户
DELETE FROM mysql.user WHERE host NOT IN ('%','localhost','127.0.0.1');
DELETE FROM mysql.user WHERE user = ''; -- 关键!清除匿名用户
-- 2. 统一密码和认证插件
UPDATE mysql.user SET
plugin = 'mysql_native_password',
password = PASSWORD('123456')
WHERE user = 'root';
-- 3. 刷新权限
FLUSH PRIVILEGES;
# 4. 修改MySQL配置
echo "skip-name-resolve" >> /etc/my.cnf
# 5. 重启服务
service mysqld restart
5.2 验证结果
sysbench oltp_read_write \
--mysql-host=192.168.187.202 \
--mysql-user=root \
--mysql-password=123456 \
[...] prepare
# 成功输出:Creating table 'sbtest1'...
6. 经验教训与预防措施
6.1 技术改进
权限管理规范
- 禁止直接操作
mysql.user表,统一使用GRANT/REVOKE命令 - 新建测试用户(如
sysbench@'192.168.187.%')替代root
配置强制项
[mysqld]
skip-name-resolve=1 # 禁用DNS解析
bind-address=0.0.0.0 # 允许远程连接
- 升级兼容性检查
从5.6升级到更高版本时,需运行mysql_upgrade更新元数据
6.2 流程优化
权限变更检查表
:
| 操作 | 必检项 |
|---|---|
| 修改用户权限 | 验证 SHOW GRANTS FOR user |
| 重启服务 | 检查 error_log 是否有异常 |
- 监控增强:
部署实时审计插件,记录所有权限变更操作
通过本次故障得出核心结论:MySQL 5.6的权限匹配机制对主机名和匿名账户极其敏感,任何权限调整必须配合配置优化和服务重启才能生效。
undefined

浙公网安备 33010602011771号