使用sysbench测试lightdb性能
1、sysbench可用于测试mysql和lightdb性能。首先安装lightdb,
2、其次,安装sysbench,从https://github.com/akopytov/sysbench下载最新版。master也可以。然后解压:
[zjh@hs-10-20-30-193 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: `config/ltmain.sh' is newer: use `--force' to overwrite libtoolize: `m4/libtool.m4' is newer: use `--force' to overwrite libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite libtoolize: `m4/ltversion.m4' is newer: use `--force' to overwrite autoreconf: running: /usr/bin/autoconf autoreconf: running: /usr/bin/autoheader autoreconf: running: automake --add-missing --copy --no-force autoreconf: Leaving directory `.' [zjh@hs-10-20-30-193 sysbench-master]$ ./configure --prefix=/home/zjh/sysbench --without-mysql --with-pgsql --with-pgsql-includes=/home/zjh/lightdb-x-dev-server/include --with-pgsql-libs=/home/zjh/lightdb-x-dev-server/lib checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-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 for style of include used by make... GNU 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 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 dependency style of gcc... (cached) gcc3 checking for gcc option to accept ISO C99... -std=gnu99 checking how to run the C preprocessor... gcc -E checking whether gcc -std=gnu99 and cc understand -c and -o together... yes 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... 16:756e6547:6c65746e:49656e69 checking for x86 cpuid 1 output... 50657:4d400800:7ffefbff:bfebfbff checking whether C compiler accepts -march=core2... yes checking for gcc architecture flag... -march=core2 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 -std=gnu99... /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... 1966080 checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-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 -std=gnu99 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 -std=gnu99 supports -fno-rtti -fno-exceptions... no checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes checking if gcc -std=gnu99 static flag -static works... yes checking if gcc -std=gnu99 supports -c -o file.o... yes checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes checking whether the gcc -std=gnu99 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 whether to compile with MySQL support... no checking whether to compile with PostgreSQL support... yes 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 PostgreSQL includes... (cached) /home/zjh/lightdb-x-dev-server/include checking PostgreSQL libraries... (cached) /home/zjh/lightdb-x-dev-server/lib 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 for ANSI C header files... (cached) yes 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 whether time.h and sys/time.h may both be included... yes checking for thread local storage (TLS) class... __thread 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 -std=gnu99 CFLAGS : -O3 -funroll-loops -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 : /home/zjh/sysbench bindir : ${prefix}/bin libexecdir : ${prefix}/libexec mandir : ${prefix}/share/man datadir : ${prefix}/share MySQL support : no PostgreSQL support : yes 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 : =============================================================================== [zjh@hs-10-20-30-193 sysbench-master]$ make Making all in third_party/luajit make[1]: Entering directory `/home/zjh/sysbench-master/third_party/luajit' make -C ./luajit clean make[2]: Entering directory `/home/zjh/sysbench-master/third_party/luajit/luajit' make -C src clean make[3]: Entering directory `/home/zjh/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]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit/luajit/src' make[2]: Leaving directory `/home/zjh/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=/home/zjh/sysbench-master/third_party/luajit \ INSTALL_INC=/home/zjh/sysbench-master/third_party/luajit/inc \ install make[2]: Entering directory `/home/zjh/sysbench-master/third_party/luajit/tmp/luajit' ==== Building LuaJIT 2.1.0-beta3 ==== make -C src make[3]: Entering directory `/home/zjh/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_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_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_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_init.o AR libluajit.a CC luajit.o BUILDVM jit/vmdef.lua DYNLINK libluajit.so LINK luajit OK Successfully built LuaJIT make[3]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit/tmp/luajit/src' ==== Successfully built LuaJIT 2.1.0-beta3 ==== ==== Installing LuaJIT 2.1.0-beta3 to /home/zjh/sysbench-master/third_party/luajit ==== mkdir -p /home/zjh/sysbench-master/third_party/luajit/bin /home/zjh/sysbench-master/third_party/luajit/lib /home/zjh/sysbench-master/third_party/luajit/inc /home/zjh/sysbench-master/third_party/luajit/share/man/man1 /home/zjh/sysbench-master/third_party/luajit/lib/pkgconfig /home/zjh/sysbench-master/third_party/luajit/share/luajit-2.1.0-beta3/jit /home/zjh/sysbench-master/third_party/luajit/share/lua/5.1 /home/zjh/sysbench-master/third_party/luajit/lib/lua/5.1 cd src && install -m 0755 luajit /home/zjh/sysbench-master/third_party/luajit/bin/luajit-2.1.0-beta3 cd src && test -f libluajit.a && install -m 0644 libluajit.a /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.a || : rm -f /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2.1.0 /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2 cd src && test -f libluajit.so && \ install -m 0755 libluajit.so /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2.1.0 && \ ( ldconfig -n 2>/dev/null /home/zjh/sysbench-master/third_party/luajit/lib || : ) && \ ln -sf libluajit-5.1.so.2.1.0 /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so && \ ln -sf libluajit-5.1.so.2.1.0 /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.so.2 || : cd etc && install -m 0644 luajit.1 /home/zjh/sysbench-master/third_party/luajit/share/man/man1 cd etc && sed -e "s|^prefix=.*|prefix=/home/zjh/sysbench-master/third_party/luajit|" -e "s|^multilib=.*|multilib=lib|" luajit.pc > luajit.pc.tmp && \ install -m 0644 luajit.pc.tmp /home/zjh/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 /home/zjh/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 /home/zjh/sysbench-master/third_party/luajit/share/luajit-2.1.0-beta3/jit ==== Successfully installed LuaJIT 2.1.0-beta3 to /home/zjh/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 /home/zjh/sysbench-master/third_party/luajit/bin/luajit make[2]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit/tmp/luajit' make[1]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit' Making all in third_party/concurrency_kit make[1]: Entering directory `/home/zjh/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 -std=gnu99" \ CFLAGS="-O3 -funroll-loops -D_GNU_SOURCE " \ LDFLAGS="" \ ./configure \ --prefix=/home/zjh/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 [/home/zjh/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 = /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck SRC_DIR = /home/zjh/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 -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 = 32 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 /home/zjh/sysbench-master/third_party/concurrency_kit/include Libraries will be installed in /home/zjh/sysbench-master/third_party/concurrency_kit/lib Documentation will be installed in /home/zjh/sysbench-master/third_party/concurrency_kit/share/man make[2]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck' make -C doc all || exit make[3]: Entering directory `/home/zjh/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 /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target > /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target.3.gz; \ done make[3]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc' ---[ Manual pages are ready for installation. make -C src all || exit make[3]: Entering directory `/home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_centralized.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_combining.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_dissemination.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_tournament.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_barrier_mcs.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_epoch.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_ht.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hp.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c: In function 鈥榗k_hs_put鈥? /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c:817:16: warning: 鈥榥_probes鈥?may be used uninitialized in this function [-Wmaybe-uninitialized] unsigned long n_probes; ^ /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c: In function 鈥榗k_hs_put_unique鈥? /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_hs.c:817:16: warning: 鈥榥_probes鈥?may be used uninitialized in this function [-Wmaybe-uninitialized] /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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_rhs.o /home/zjh/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 -D_GNU_SOURCE -fPIC -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -I/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include -m64 -D__x86_64__ -c -o /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src/ck_array.o /home/zjh/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 /home/zjh/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 /home/zjh/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]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src' ---[ Concurrency Kit has built successfully. You may now "make install". make[2]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck' make[2]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck' make -C doc all || exit make[3]: Entering directory `/home/zjh/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 /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target > /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc/$target.3.gz; \ done make[3]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc' ---[ Manual pages are ready for installation. make -C src all || exit make[3]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/src' ---[ Concurrency Kit has built successfully. You may now "make install". mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/include || exit cp /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include/*.h //home/zjh/sysbench-master/third_party/concurrency_kit/include || exit chmod 644 //home/zjh/sysbench-master/third_party/concurrency_kit/include/ck_*.h || exit mkdir -p /home/zjh/sysbench-master/third_party/concurrency_kit/include/gcc || exit cp -r /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include/gcc/* //home/zjh/sysbench-master/third_party/concurrency_kit/include/gcc || exit cp include/ck_md.h //home/zjh/sysbench-master/third_party/concurrency_kit/include/ck_md.h || exit chmod 755 //home/zjh/sysbench-master/third_party/concurrency_kit/include/gcc chmod 644 //home/zjh/sysbench-master/third_party/concurrency_kit/include/gcc/ck_*.h //home/zjh/sysbench-master/third_party/concurrency_kit/include/gcc/*/ck_*.h || exit mkdir -p /home/zjh/sysbench-master/third_party/concurrency_kit/include/spinlock || exit cp -r /home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/include/spinlock/* //home/zjh/sysbench-master/third_party/concurrency_kit/include/spinlock || exit chmod 755 //home/zjh/sysbench-master/third_party/concurrency_kit/include/spinlock chmod 644 //home/zjh/sysbench-master/third_party/concurrency_kit/include/spinlock/*.h || exit mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/lib cp src/libck.so //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so.1.0.0 ln -sf libck.so.1.0.0 //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so ln -sf libck.so.1.0.0 //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so.0 chmod 744 //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so.1.0.0 \ //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so \ //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.so.0 mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/lib cp src/libck.a //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.a chmod 644 //home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.a make -C doc install make[3]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc' mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/share/man/man3 || exit cp *.3.gz //home/zjh/sysbench-master/third_party/concurrency_kit/share/man/man3 || exit make[3]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck/doc' mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/lib || exit mkdir -p //home/zjh/sysbench-master/third_party/concurrency_kit/lib/pkgconfig || exit chmod 755 //home/zjh/sysbench-master/third_party/concurrency_kit/lib/pkgconfig cp build/ck.pc //home/zjh/sysbench-master/third_party/concurrency_kit/lib/pkgconfig/ck.pc || exit ---[ Concurrency Kit has installed successfully. make[2]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit/tmp/ck' make[1]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit' Making all in src make[1]: Entering directory `/home/zjh/sysbench-master/src' Making all in drivers make[2]: Entering directory `/home/zjh/sysbench-master/src/drivers' Making all in pgsql make[3]: Entering directory `/home/zjh/sysbench-master/src/drivers/pgsql' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -g -I/home/zjh/lightdb-x-dev-server/include -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -MT libsbpgsql_a-drv_pgsql.o -MD -MP -MF .deps/libsbpgsql_a-drv_pgsql.Tpo -c -o libsbpgsql_a-drv_pgsql.o `test -f 'drv_pgsql.c' || echo './'`drv_pgsql.c In file included from ../../../src/sb_rand.h:24:0, from drv_pgsql.c:34: ../../../src/xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ ../../../src/xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from drv_pgsql.c:34:0: ../../../src/sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ ../../../src/sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/libsbpgsql_a-drv_pgsql.Tpo .deps/libsbpgsql_a-drv_pgsql.Po rm -f libsbpgsql.a ar cru libsbpgsql.a libsbpgsql_a-drv_pgsql.o ranlib libsbpgsql.a make[3]: Leaving directory `/home/zjh/sysbench-master/src/drivers/pgsql' make[3]: Entering directory `/home/zjh/sysbench-master/src/drivers' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/zjh/sysbench-master/src/drivers' make[2]: Leaving directory `/home/zjh/sysbench-master/src/drivers' Making all in tests make[2]: Entering directory `/home/zjh/sysbench-master/src/tests' Making all in cpu make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/cpu' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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]: Leaving directory `/home/zjh/sysbench-master/src/tests/cpu' Making all in fileio make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/fileio' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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 In file included from ../../../src/sb_rand.h:24:0, from sb_fileio.c:52: ../../../src/xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ ../../../src/xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_fileio.c:52:0: ../../../src/sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ ../../../src/sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/libsbfileio_a-sb_fileio.Tpo .deps/libsbfileio_a-sb_fileio.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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]: Leaving directory `/home/zjh/sysbench-master/src/tests/fileio' Making all in memory make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/memory' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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 In file included from ../../../src/sb_rand.h:24:0, from sb_memory.c:24: ../../../src/xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ ../../../src/xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_memory.c:24:0: ../../../src/sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ ../../../src/sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ sb_memory.c: In function 鈥榤emory_init鈥? sb_memory.c:199:18: warning: 鈥榖uffer鈥?may be used uninitialized in this function [-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]: Leaving directory `/home/zjh/sysbench-master/src/tests/memory' Making all in threads make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/threads' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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]: Leaving directory `/home/zjh/sysbench-master/src/tests/threads' Making all in mutex make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/mutex' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../config -I../../../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/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 -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 In file included from ../../../src/sb_rand.h:24:0, from sb_mutex.c:29: ../../../src/xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ ../../../src/xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_mutex.c:29:0: ../../../src/sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ ../../../src/sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ 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]: Leaving directory `/home/zjh/sysbench-master/src/tests/mutex' make[3]: Entering directory `/home/zjh/sysbench-master/src/tests' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests' make[2]: Leaving directory `/home/zjh/sysbench-master/src/tests' Making all in lua make[2]: Entering directory `/home/zjh/sysbench-master/src/lua' Making all in internal make[3]: Entering directory `/home/zjh/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]: Entering directory `/home/zjh/sysbench-master/src/lua/internal' make[4]: Nothing to be done for `all-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/lua/internal' make[3]: Leaving directory `/home/zjh/sysbench-master/src/lua/internal' make[3]: Entering directory `/home/zjh/sysbench-master/src/lua' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/zjh/sysbench-master/src/lua' make[2]: Leaving directory `/home/zjh/sysbench-master/src/lua' Making all in . make[2]: Entering directory `/home/zjh/sysbench-master/src' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -MT sysbench.o -MD -MP -MF .deps/sysbench.Tpo -c -o sysbench.o sysbench.c In file included from sb_rand.h:24:0, from sysbench.c:73: xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sysbench.c:73:0: sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/sysbench.Tpo .deps/sysbench.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -MT sb_histogram.o -MD -MP -MF .deps/sb_histogram.Tpo -c -o sb_histogram.o sb_histogram.c In file included from sb_rand.h:24:0, from sb_histogram.c:36: xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_histogram.c:36:0: sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/sb_histogram.Tpo .deps/sb_histogram.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -MT sb_rand.o -MD -MP -MF .deps/sb_rand.Tpo -c -o sb_rand.o sb_rand.c In file included from sb_rand.h:24:0, from sb_rand.c:54: xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_rand.c:54:0: sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/sb_rand.Tpo .deps/sb_rand.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -MT sb_thread.o -MD -MP -MF .deps/sb_thread.Tpo -c -o sb_thread.o sb_thread.c In file included from sb_rand.h:24:0, from sb_thread.c:37: xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_thread.c:37:0: sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/sb_thread.Tpo .deps/sb_thread.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -MT sb_lua.o -MD -MP -MF .deps/sb_lua.Tpo -c -o sb_lua.o sb_lua.c In file included from sb_rand.h:24:0, from sb_lua.c:37: xoroshiro128plus.h:34:17: warning: no previous prototype for 鈥榵oroshiro_rotl鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_rotl(const uint64_t x, int k) { ^ xoroshiro128plus.h:38:17: warning: no previous prototype for 鈥榵oroshiro_next鈥?[-Wmissing-prototypes] inline uint64_t xoroshiro_next(uint64_t s[2]) { ^ In file included from sb_lua.c:37:0: sb_rand.h:44:17: warning: no previous prototype for 鈥榮b_rand_uniform_uint64鈥?[-Wmissing-prototypes] inline uint64_t sb_rand_uniform_uint64(void) ^ sb_rand.h:50:15: warning: no previous prototype for 鈥榮b_rand_uniform_double鈥?[-Wmissing-prototypes] inline double sb_rand_uniform_double(void) ^ mv -f .deps/sb_lua.Tpo .deps/sb_lua.Po gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -DHAVE_CONFIG_H -I. -I../config -I../src -I/home/zjh/sysbench-master/third_party/luajit/inc -I/home/zjh/sysbench-master/third_party/concurrency_kit/include -DDATADIR=\"/home/zjh/sysbench/share/sysbench\" -DLIBDIR=\"/home/zjh/sysbench/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 -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 -std=gnu99 -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 -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/pgsql/libsbpgsql.a -L/home/zjh/lightdb-x-dev-server/lib -lpq /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.a -ldl /home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.a -laio -lm libtool: link: gcc -std=gnu99 -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 -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/pgsql/libsbpgsql.a -L/home/zjh/lightdb-x-dev-server/lib -lpq /home/zjh/sysbench-master/third_party/luajit/lib/libluajit-5.1.a -ldl /home/zjh/sysbench-master/third_party/concurrency_kit/lib/libck.a -laio -lm -pthread make[2]: Leaving directory `/home/zjh/sysbench-master/src' make[1]: Leaving directory `/home/zjh/sysbench-master/src' Making all in tests make[1]: Entering directory `/home/zjh/sysbench-master/tests' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/zjh/sysbench-master/tests' make[1]: Entering directory `/home/zjh/sysbench-master' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/home/zjh/sysbench-master' [zjh@hs-10-20-30-193 sysbench-master]$ make install Making install in third_party/luajit make[1]: Entering directory `/home/zjh/sysbench-master/third_party/luajit' make[2]: Entering directory `/home/zjh/sysbench-master/third_party/luajit' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit' make[1]: Leaving directory `/home/zjh/sysbench-master/third_party/luajit' Making install in third_party/concurrency_kit make[1]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit' make[2]: Entering directory `/home/zjh/sysbench-master/third_party/concurrency_kit' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit' make[1]: Leaving directory `/home/zjh/sysbench-master/third_party/concurrency_kit' Making install in src make[1]: Entering directory `/home/zjh/sysbench-master/src' Making install in drivers make[2]: Entering directory `/home/zjh/sysbench-master/src/drivers' Making install in pgsql make[3]: Entering directory `/home/zjh/sysbench-master/src/drivers/pgsql' make[4]: Entering directory `/home/zjh/sysbench-master/src/drivers/pgsql' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/drivers/pgsql' make[3]: Leaving directory `/home/zjh/sysbench-master/src/drivers/pgsql' make[3]: Entering directory `/home/zjh/sysbench-master/src/drivers' make[4]: Entering directory `/home/zjh/sysbench-master/src/drivers' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/drivers' make[3]: Leaving directory `/home/zjh/sysbench-master/src/drivers' make[2]: Leaving directory `/home/zjh/sysbench-master/src/drivers' Making install in tests make[2]: Entering directory `/home/zjh/sysbench-master/src/tests' Making install in cpu make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/cpu' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests/cpu' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests/cpu' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests/cpu' Making install in fileio make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/fileio' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests/fileio' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests/fileio' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests/fileio' Making install in memory make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/memory' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests/memory' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests/memory' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests/memory' Making install in threads make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/threads' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests/threads' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests/threads' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests/threads' Making install in mutex make[3]: Entering directory `/home/zjh/sysbench-master/src/tests/mutex' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests/mutex' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests/mutex' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests/mutex' make[3]: Entering directory `/home/zjh/sysbench-master/src/tests' make[4]: Entering directory `/home/zjh/sysbench-master/src/tests' make[4]: Nothing to be done for `install-exec-am'. make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/zjh/sysbench-master/src/tests' make[3]: Leaving directory `/home/zjh/sysbench-master/src/tests' make[2]: Leaving directory `/home/zjh/sysbench-master/src/tests' Making install in lua make[2]: Entering directory `/home/zjh/sysbench-master/src/lua' Making install in internal make[3]: Entering directory `/home/zjh/sysbench-master/src/lua/internal' make install-am make[4]: Entering directory `/home/zjh/sysbench-master/src/lua/internal' make[5]: Entering directory `/home/zjh/sysbench-master/src/lua/internal' make[5]: Nothing to be done for `install-exec-am'. make[5]: Nothing to be done for `install-data-am'. make[5]: Leaving directory `/home/zjh/sysbench-master/src/lua/internal' make[4]: Leaving directory `/home/zjh/sysbench-master/src/lua/internal' make[3]: Leaving directory `/home/zjh/sysbench-master/src/lua/internal' make[3]: Entering directory `/home/zjh/sysbench-master/src/lua' make[4]: Entering directory `/home/zjh/sysbench-master/src/lua' make[4]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p '/home/zjh/sysbench/share/sysbench' /usr/bin/install -c -m 644 oltp_common.lua '/home/zjh/sysbench/share/sysbench' /usr/bin/mkdir -p '/home/zjh/sysbench/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 '/home/zjh/sysbench/share/sysbench' make[4]: Leaving directory `/home/zjh/sysbench-master/src/lua' make[3]: Leaving directory `/home/zjh/sysbench-master/src/lua' make[2]: Leaving directory `/home/zjh/sysbench-master/src/lua' Making install in . make[2]: Entering directory `/home/zjh/sysbench-master/src' make[3]: Entering directory `/home/zjh/sysbench-master/src' /usr/bin/mkdir -p '/home/zjh/sysbench/bin' /bin/sh ../libtool --mode=install /usr/bin/install -c sysbench '/home/zjh/sysbench/bin' libtool: install: /usr/bin/install -c sysbench /home/zjh/sysbench/bin/sysbench make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/zjh/sysbench-master/src' make[2]: Leaving directory `/home/zjh/sysbench-master/src' make[1]: Leaving directory `/home/zjh/sysbench-master/src' Making install in tests make[1]: Entering directory `/home/zjh/sysbench-master/tests' make[2]: Entering directory `/home/zjh/sysbench-master/tests' make[2]: Nothing to be done for `install-exec-am'. make INSTALL_TO_DIR="/home/zjh/sysbench/share/sysbench/tests" install_test_files make[3]: Entering directory `/home/zjh/sysbench-master/tests' make[3]: Leaving directory `/home/zjh/sysbench-master/tests' /usr/bin/mkdir -p '/home/zjh/sysbench/share/sysbench/tests' /usr/bin/install -c test_run.sh '/home/zjh/sysbench/share/sysbench/tests' make[2]: Leaving directory `/home/zjh/sysbench-master/tests' make[1]: Leaving directory `/home/zjh/sysbench-master/tests' make[1]: Entering directory `/home/zjh/sysbench-master' make[2]: Entering directory `/home/zjh/sysbench-master' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/zjh/sysbench-master' make[1]: Leaving directory `/home/zjh/sysbench-master'
测试
sysbench的测试脚本基本上应lua编写,内置了很多场景,只读、OLTP、80/20、主键查询等等。
[zjh@hs-10-20-30-193 ~]$ sysbench --help Usage: sysbench [options]... [testname] [command] Commands implemented by most tests: prepare run cleanup help General options: --threads=N number of threads to use [1] --events=N limit for total number of events [0] --time=N limit for total execution time in seconds [10] --warmup-time=N execute events for this many seconds with statistics disabled before the actual benchmark run with statistics enabled [0] --forced-shutdown=STRING number of seconds to wait after the --time limit before forcing shutdown, or 'off' to disable [off] --thread-stack-size=SIZE size of stack per thread [64K] --thread-init-timeout=N wait time in seconds for worker threads to initialize [30] --rate=N average transactions rate. 0 for unlimited rate [0] --report-interval=N periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0] --report-checkpoints=[LIST,...] dump full statistics and reset all counters at specified points in time. The argument is a list of comma-separated values representing the amount of time in seconds elapsed from start of test when report checkpoint(s) must be performed. Report checkpoints are off by default. [] --debug[=on|off] print more debugging info [off] --validate[=on|off] perform validation checks where possible [off] --help[=on|off] print help and exit [off] --version[=on|off] print version and exit [off] --config-file=FILENAME File containing command line options --luajit-cmd=STRING perform LuaJIT control command. This option is equivalent to 'luajit -j'. See LuaJIT documentation for more information Pseudo-Random Numbers Generator options: --rand-type=STRING random numbers distribution {uniform, gaussian, pareto, zipfian} to use by default [uniform] --rand-seed=N seed for random number generator. When 0, the current time is used as an RNG seed. [0] --rand-pareto-h=N shape parameter for the Pareto distribution [0.2] --rand-zipfian-exp=N shape parameter (exponent, theta) for the Zipfian distribution [0.8] Log options: --verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3] --percentile=N percentile to calculate in latency statistics (1-100). Use the special value of 0 to disable percentile calculations [95] --histogram[=on|off] print latency histogram in report [off] General database options: --db-driver=STRING specifies database driver to use ('help' to get list of available drivers) --db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto] --db-debug[=on|off] print database-specific debug information [off] Compiled-in database drivers: pgsql - PostgreSQL driver pgsql options: --pgsql-host=STRING PostgreSQL server host [localhost] --pgsql-port=N PostgreSQL server port [5432] --pgsql-user=STRING PostgreSQL user [sbtest] --pgsql-password=STRING PostgreSQL password [] --pgsql-db=STRING PostgreSQL database name [sbtest] --pgsql-sslmode=STRING PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full) [prefer] Compiled-in tests: fileio - File I/O test cpu - CPU performance test memory - Memory functions speed test threads - Threads subsystem performance test mutex - Mutex performance test See 'sysbenchhelp ' for a list of options for each test.
## 造数据
sysbench oltp_read_only --db-driver=pgsql --pgsql-host=10.19.36.10 --pgsql-port=5433 --pgsql-user=benchmarksql --pgsql-password=benchmarksql --pgsql-db=postgres --threads=100 --tables=30 --table_size=10000000 prepare ## 测试80/20 读写负载 sysbench oltp_read_write --db-driver=pgsql --db-ps-mode=auto --pgsql-host=10.19.36.10 --pgsql-port=5433 --pgsql-user=benchmarksql --pgsql-password=benchmarksql --pgsql-db=postgres --tables=30 --threads=200 --time=30 --rand-type=uniform --report-interval=2 run
[zjh@hs-10-20-30-193 bin]$ sysbench oltp_read_write --db-driver=pgsql --db-ps-mode=auto --pgsql-host=10.20.30.199 --pgsql-port=8000 --pgsql-user=benchmarksql --pgsql-password=benchmarksql --pgsql-db=postgres --tables=10 --threads=100 --time=30 --rand-type=uniform --report-interval=2 run sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3) Running the test with following options: Number of threads: 100 Report intermediate results every 2 second(s) Initializing random number generator from current time Initializing worker threads... Threads started! [ 2s ] thds: 100 tps: 2646.41 qps: 53494.73 (r/w/o: 37541.32/10611.63/5341.78) lat (ms,95%): 66.84 err/s: 0.50 reconn/s: 0.00 [ 4s ] thds: 100 tps: 2679.78 qps: 53597.16 (r/w/o: 37521.46/10714.63/5361.07) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 6s ] thds: 100 tps: 2454.50 qps: 49039.51 (r/w/o: 34311.51/9820.00/4908.00) lat (ms,95%): 71.83 err/s: 0.00 reconn/s: 0.00 [ 8s ] thds: 100 tps: 2557.49 qps: 51126.38 (r/w/o: 35789.92/10219.48/5116.99) lat (ms,95%): 69.29 err/s: 0.50 reconn/s: 0.00 [ 10s ] thds: 100 tps: 2655.50 qps: 53162.96 (r/w/o: 37213.97/10638.49/5310.50) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 12s ] thds: 100 tps: 2665.00 qps: 53277.47 (r/w/o: 37300.98/10645.49/5331.00) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 14s ] thds: 100 tps: 2679.99 qps: 53594.37 (r/w/o: 37508.91/10725.47/5359.99) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 16s ] thds: 100 tps: 2640.01 qps: 52804.78 (r/w/o: 36967.70/10556.06/5281.03) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 18s ] thds: 100 tps: 2676.50 qps: 53518.98 (r/w/o: 37467.49/10698.00/5353.50) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 20s ] thds: 100 tps: 2678.90 qps: 53575.52 (r/w/o: 37500.62/10717.60/5357.30) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 22s ] thds: 100 tps: 2681.45 qps: 53654.93 (r/w/o: 37553.25/10736.79/5364.89) lat (ms,95%): 66.84 err/s: 0.50 reconn/s: 0.00 [ 24s ] thds: 100 tps: 2679.62 qps: 53610.88 (r/w/o: 37527.67/10722.98/5360.24) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00 [ 26s ] thds: 100 tps: 2668.40 qps: 53369.49 (r/w/o: 37365.09/10665.60/5338.80) lat (ms,95%): 66.84 err/s: 0.50 reconn/s: 0.00 [ 28s ] thds: 100 tps: 2681.07 qps: 53662.38 (r/w/o: 37568.97/10726.78/5366.64) lat (ms,95%): 66.84 err/s: 0.50 reconn/s: 0.00 [ 30s ] thds: 100 tps: 2661.52 qps: 53185.96 (r/w/o: 37213.82/10650.09/5322.05) lat (ms,95%): 66.84 err/s: 0.50 reconn/s: 0.00 SQL statistics: queries performed: read: 1113294 write: 318057 other: 159057 total: 1590408 transactions: 79515 (2647.65 per sec.) queries: 1590408 (52956.53 per sec.) ignored errors: 6 (0.20 per sec.) reconnects: 0 (0.00 per sec.) Throughput: events/s (eps): 2647.6468 time elapsed: 30.0323s total number of events: 79515 Latency (ms): min: 11.70 avg: 37.75 max: 174.28 95th percentile: 66.84 sum: 3001597.75 Threads fairness: events (avg/stddev): 795.1500/292.19 execution time (avg/stddev): 30.0160/0.01