centos 安装 redis benchmark 测试

1.安装

wget http://download.redis.io/releases/redis-2.8.1.tar.gz
tar xzf redis-2.8.1.tar.gz
cd redis-2.8.1
make //32位可能出错
make CFLAGS=”-march=i686″

在32位系统里编译时出现如下错误,这时候需要 加一个 CFLAGS=”-march=i686″,就可以解决。

src/zmalloc.c:223: undefined reference to `__sync_

zmalloc.o: In function `zmalloc_used_memory':
/home/user/source/redis-2.8.1/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] 1
make[1]: Leaving directory `/home/user/source/redis-2.8.1/src'
make: *** [all] 2

linux centos 启动  redis

src/redis-server
[2709] 02 Dec 22:13:04.565 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
[2709] 02 Dec 22:13:04.571 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 2.8.1 (00000000/0) 32 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 2709
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

[2709] 02 Dec 22:13:04.572 # Server started, Redis version 2.8.1
[2709] 02 Dec 22:13:04.572 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[2709] 02 Dec 22:13:04.572 * The server is now ready to accept connections on port 6379

centos 后台启动 redis

到安装目录的redis.conf,用vi编辑。

daemonize yes
port 8888

用deamon方式启动

./src/redis-server ./redis.conf

关闭deamon方式启动的redis

停止Redis服务

./src/redis-cli -p 8888 shutdown

redis 默认端口

redis默认端口为6379.

linux centos redis benchmark

src/redis-benchmark -h 127.0.0.1 -p 6379

benchmark 输出

/redis-benchmark -h 10.99.71.67 -p 6379
====== PING_INLINE ======
  10000 requests completed in 0.74 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.99% <= 1 milliseconds
100.00% <= 1 milliseconds
13550.14 requests per second

====== PING_BULK ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

91.43% <= 1 milliseconds
99.78% <= 2 milliseconds
99.88% <= 3 milliseconds
99.92% <= 4 milliseconds
99.98% <= 5 milliseconds
100.00% <= 5 milliseconds
55555.55 requests per second

====== SET ======
  10000 requests completed in 0.20 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

83.68% <= 1 milliseconds
99.34% <= 2 milliseconds
99.42% <= 3 milliseconds
99.46% <= 4 milliseconds
99.50% <= 5 milliseconds
99.51% <= 8 milliseconds
100.00% <= 8 milliseconds
51282.05 requests per second

====== GET ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

85.61% <= 1 milliseconds
99.80% <= 2 milliseconds
99.89% <= 3 milliseconds
99.97% <= 4 milliseconds
100.00% <= 4 milliseconds
54347.82 requests per second

====== INCR ======
  10000 requests completed in 0.19 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

84.55% <= 1 milliseconds
99.45% <= 2 milliseconds
99.89% <= 3 milliseconds
99.96% <= 4 milliseconds
99.99% <= 5 milliseconds
100.00% <= 5 milliseconds
53475.94 requests per second

====== LPUSH ======
  10000 requests completed in 0.19 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

82.58% <= 1 milliseconds
99.84% <= 2 milliseconds
99.89% <= 3 milliseconds
99.95% <= 4 milliseconds
99.98% <= 5 milliseconds
100.00% <= 5 milliseconds
53475.94 requests per second

====== LPOP ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

85.85% <= 1 milliseconds
99.82% <= 2 milliseconds
99.88% <= 3 milliseconds
99.95% <= 4 milliseconds
99.99% <= 5 milliseconds
100.00% <= 5 milliseconds
54054.05 requests per second

====== SADD ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

86.97% <= 1 milliseconds
99.85% <= 2 milliseconds
99.92% <= 3 milliseconds
100.00% <= 4 milliseconds
54347.82 requests per second

====== SPOP ======
  10000 requests completed in 0.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

89.83% <= 1 milliseconds
99.85% <= 2 milliseconds
99.90% <= 3 milliseconds
99.95% <= 4 milliseconds
100.00% <= 5 milliseconds
55248.62 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
  10000 requests completed in 0.19 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

83.82% <= 1 milliseconds
99.87% <= 2 milliseconds
99.93% <= 3 milliseconds
100.00% <= 3 milliseconds
53763.44 requests per second

====== LRANGE_100 (first 100 elements) ======
  10000 requests completed in 0.29 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

38.31% <= 1 milliseconds
97.97% <= 2 milliseconds
99.80% <= 3 milliseconds
99.82% <= 4 milliseconds
99.90% <= 5 milliseconds
99.94% <= 6 milliseconds
99.99% <= 7 milliseconds
100.00% <= 7 milliseconds
34129.69 requests per second

====== LRANGE_300 (first 300 elements) ======
  10000 requests completed in 0.79 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

4.97% <= 1 milliseconds
35.46% <= 2 milliseconds
70.90% <= 3 milliseconds
91.98% <= 4 milliseconds
98.98% <= 5 milliseconds
99.91% <= 6 milliseconds
99.96% <= 7 milliseconds
99.99% <= 8 milliseconds
100.00% <= 8 milliseconds
12722.65 requests per second

====== LRANGE_500 (first 450 elements) ======
  10000 requests completed in 1.11 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

3.65% <= 1 milliseconds
20.21% <= 2 milliseconds
44.43% <= 3 milliseconds
69.18% <= 4 milliseconds
89.36% <= 5 milliseconds
97.62% <= 6 milliseconds
99.68% <= 7 milliseconds
99.94% <= 8 milliseconds
99.98% <= 9 milliseconds
99.99% <= 11 milliseconds
100.00% <= 11 milliseconds
9041.59 requests per second

====== LRANGE_600 (first 600 elements) ======
  10000 requests completed in 1.44 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

2.96% <= 1 milliseconds
13.90% <= 2 milliseconds
29.06% <= 3 milliseconds
46.03% <= 4 milliseconds
64.57% <= 5 milliseconds
83.03% <= 6 milliseconds
95.74% <= 7 milliseconds
99.04% <= 8 milliseconds
99.74% <= 9 milliseconds
99.94% <= 10 milliseconds
99.96% <= 12 milliseconds
100.00% <= 13 milliseconds
6930.01 requests per second

====== MSET (10 keys) ======
  10000 requests completed in 0.25 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

22.99% <= 1 milliseconds
99.48% <= 2 milliseconds
99.76% <= 3 milliseconds
99.83% <= 4 milliseconds
99.89% <= 5 milliseconds
99.94% <= 6 milliseconds
99.96% <= 7 milliseconds
100.00% <= 7 milliseconds
39525.69 requests per second

看来我的服务器还是性能比较不错的了。

 

编译过程 输出结果:

输出:
cd src && make all
make[1]: Entering directory `/home/user/apps/redis-2.8.1/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
(cd ../deps && make distclean)
make[2]: Entering directory `/home/user/apps/redis-2.8.1/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/home/user/apps/redis-2.8.1/deps'
(rm -f .make-*)
echo STD=-std=c99 -pedantic >> .make-settings
echo WARN=-Wall >> .make-settings
echo OPT=-O2 >> .make-settings
echo MALLOC=jemalloc >> .make-settings
echo CFLAGS=-march=i686 >> .make-settings
echo LDFLAGS= >> .make-settings
echo REDIS_CFLAGS= >> .make-settings
echo REDIS_LDFLAGS= >> .make-settings
echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -Wall -O2 -g -ggdb -march=i686  -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings
echo PREV_FINAL_LDFLAGS=  -g -ggdb -rdynamic >> .make-settings
(cd ../deps && make hiredis linenoise lua jemalloc)
make[2]: Entering directory `/home/user/apps/redis-2.8.1/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-ldflags)
(echo "-march=i686" > .make-cflags)
MAKE hiredis
cd hiredis && make static
make[3]: Entering directory `/home/user/apps/redis-2.8.1/deps/hiredis'
cc -std=c99 -pedantic -c -O3 -fPIC -march=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
cc -std=c99 -pedantic -c -O3 -fPIC -march=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  hiredis.c
cc -std=c99 -pedantic -c -O3 -fPIC -march=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  sds.c
cc -std=c99 -pedantic -c -O3 -fPIC -march=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  async.c
ar rcs libhiredis.a net.o hiredis.o sds.o async.o
make[3]: Leaving directory `/home/user/apps/redis-2.8.1/deps/hiredis'
MAKE linenoise
cd linenoise && make
make[3]: Entering directory `/home/user/apps/redis-2.8.1/deps/linenoise'
cc  -Wall -Os -g -march=i686 -c linenoise.c
make[3]: Leaving directory `/home/user/apps/redis-2.8.1/deps/linenoise'
MAKE lua
cd lua/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -march=i686" MYLDFLAGS=""
make[3]: Entering directory `/home/user/apps/redis-2.8.1/deps/lua/src'
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lapi.o lapi.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lcode.o lcode.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ldebug.o ldebug.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ldo.o ldo.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ldump.o ldump.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lfunc.o lfunc.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lgc.o lgc.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o llex.o llex.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lmem.o lmem.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lobject.o lobject.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lopcodes.o lopcodes.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lparser.o lparser.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lstate.o lstate.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lstring.o lstring.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ltable.o ltable.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ltm.o ltm.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lundump.o lundump.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lvm.o lvm.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lzio.o lzio.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o strbuf.o strbuf.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lauxlib.o lauxlib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lbaselib.o lbaselib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ldblib.o ldblib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o liolib.o liolib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lmathlib.o lmathlib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o loslib.o loslib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o ltablib.o ltablib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lstrlib.o lstrlib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o loadlib.o loadlib.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o linit.o linit.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lua_cjson.o lua_cjson.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lua_struct.o lua_struct.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lua_cmsgpack.o lua_cmsgpack.c
ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o     # DLL needs all object files
ranlib liblua.a
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o lua.o lua.c
cc -o lua  lua.o liblua.a -lm 
liblua.a(loslib.o): In function `os_tmpname':
loslib.c:(.text+0x46): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o luac.o luac.c
cc -O2 -Wall -DLUA_ANSI -march=i686   -c -o print.o print.c
cc -o luac  luac.o print.o liblua.a -lm 
make[3]: Leaving directory `/home/user/apps/redis-2.8.1/deps/lua/src'
MAKE jemalloc
cd jemalloc && ./configure --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686" LDFLAGS=""
checking for xsltproc... /usr/bin/xsltproc
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 how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /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 size of void *... 4
checking size of int... 4
checking size of long... 4
checking size of intmax_t... 8
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether __asm__ is compilable... yes
checking whether __attribute__ syntax is compilable... yes
checking whether compiler supports -fvisibility=hidden... yes
checking whether compiler supports -Werror... yes
checking whether tls_model attribute is compilable... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for ld... /usr/bin/ld
checking for autoconf... /usr/bin/autoconf
checking for memalign... yes
checking for valloc... yes
checking configured backtracing method... N/A
checking for sbrk... yes
checking whether utrace(2) is compilable... no
checking whether valgrind is compilable... no
checking STATIC_PAGE_SHIFT... 12
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create in -lpthread... yes
checking for _malloc_thread_cleanup... no
checking for _pthread_mutex_init_calloc_cb... no
checking for TLS... yes
checking whether a program using ffsl is compilable... yes
checking whether atomic(9) is compilable... no
checking whether Darwin OSAtomic*() is compilable... no
checking whether to force 32-bit __sync_{add,sub}_and_fetch()... yes
checking whether to force 64-bit __sync_{add,sub}_and_fetch()... yes
checking whether Darwin OSSpin*() is compilable... no
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/html.xsl
config.status: creating doc/manpages.xsl
config.status: creating doc/jemalloc.xml
config.status: creating include/jemalloc/jemalloc.h
config.status: creating include/jemalloc/internal/jemalloc_internal.h
config.status: creating test/jemalloc_test.h
config.status: creating config.stamp
config.status: creating bin/jemalloc.sh
config.status: creating include/jemalloc/jemalloc_defs.h
config.status: executing include/jemalloc/internal/size_classes.h commands
===============================================================================
jemalloc version   : 3.2.0-0-g87499f6748ebe4817571e817e9f680ccb5bf54a9
library revision   : 1

CC                 : gcc
CPPFLAGS           :  -D_GNU_SOURCE -D_REENTRANT
CFLAGS             : -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -fvisibility=hidden
LDFLAGS            : 
LIBS               :  -lm -lpthread
RPATH_EXTRA        : 

XSLTPROC           : /usr/bin/xsltproc
XSLROOT            : 

PREFIX             : /usr/local
BINDIR             : /usr/local/bin
INCLUDEDIR         : /usr/local/include
LIBDIR             : /usr/local/lib
DATADIR            : /usr/local/share
MANDIR             : /usr/local/share/man

srcroot            : 
abs_srcroot        : /home/user/apps/redis-2.8.1/deps/jemalloc/
objroot            : 
abs_objroot        : /home/user/apps/redis-2.8.1/deps/jemalloc/

JEMALLOC_PREFIX    : je_
JEMALLOC_PRIVATE_NAMESPACE
                   : 
install_suffix     : 
autogen            : 0
experimental       : 1
cc-silence         : 1
debug              : 0
stats              : 1
prof               : 0
prof-libunwind     : 0
prof-libgcc        : 0
prof-gcc           : 0
tcache             : 1
fill               : 1
utrace             : 0
valgrind           : 0
xmalloc            : 0
mremap             : 0
munmap             : 0
dss                : 0
lazy_lock          : 0
tls                : 1
===============================================================================
cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686" LDFLAGS="" lib/libjemalloc.a
make[3]: Entering directory `/home/user/apps/redis-2.8.1/deps/jemalloc'
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/jemalloc.o src/jemalloc.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/arena.o src/arena.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/atomic.o src/atomic.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/base.o src/base.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/bitmap.o src/bitmap.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk.o src/chunk.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_dss.o src/chunk_dss.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_mmap.o src/chunk_mmap.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ckh.o src/ckh.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ctl.o src/ctl.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent.o src/extent.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/hash.o src/hash.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/huge.o src/huge.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mb.o src/mb.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mutex.o src/mutex.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/prof.o src/prof.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/quarantine.o src/quarantine.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/rtree.o src/rtree.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/stats.o src/stats.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tcache.o src/tcache.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/util.o src/util.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -march=i686 -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tsd.o src/tsd.c
ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/atomic.o src/base.o src/bitmap.o src/chunk.o src/chunk_dss.o src/chunk_mmap.o src/ckh.o src/ctl.o src/extent.o src/hash.o src/huge.o src/mb.o src/mutex.o src/prof.o src/quarantine.o src/rtree.o src/stats.o src/tcache.o src/util.o src/tsd.o
make[3]: Leaving directory `/home/user/apps/redis-2.8.1/deps/jemalloc'
make[2]: Leaving directory `/home/user/apps/redis-2.8.1/deps'
    CC adlist.o
    CC ae.o
    CC anet.o
    CC dict.o
    CC redis.o
    CC sds.o
    CC zmalloc.o
    CC lzf_c.o
    CC lzf_d.o
    CC pqsort.o
    CC zipmap.o
    CC sha1.o
    CC ziplist.o
    CC release.o
    CC networking.o
    CC util.o
    CC object.o
    CC db.o
db.c: In function 'scanGenericCommand':
db.c:381: warning: 'patlen' may be used uninitialized in this function
db.c:380: warning: 'pat' may be used uninitialized in this function
    CC replication.o
    CC rdb.o
    CC t_string.o
    CC t_list.o
    CC t_set.o
    CC t_zset.o
    CC t_hash.o
    CC config.o
    CC aof.o
    CC pubsub.o
    CC multi.o
    CC debug.o
    CC sort.o
    CC intset.o
    CC syncio.o
    CC migrate.o
    CC endianconv.o
    CC slowlog.o
    CC scripting.o
    CC bio.o
    CC rio.o
    CC rand.o
    CC memtest.o
    CC crc64.o
    CC bitops.o
    CC sentinel.o
    CC notify.o
    CC setproctitle.o
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
redis-cli.c: In function 'pipeMode':
redis-cli.c:1169: warning: dereferencing type-punned pointer will break strict-aliasing rules
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    CC redis-check-dump.o
    LINK redis-check-dump
    CC redis-check-aof.o
    LINK redis-check-aof

Hint: To run 'make test' is a good idea ;) 

make[1]: Leaving directory `/home/user/apps/redis-2.8.1/src'

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>