代码拉取完成,页面将自动刷新
make large concurrent requests on tcp socket, can be used as pressure test
install:
不使用 jemalloc库
gcc -g -o test common.c config.c flog.c ngx_rbtree.c ngx_event_timer.c zmalloc.c test.c
使用 jemalloc库
1. 安装jemalloc库,以redis编译jemalloc为例
1.1 wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2 下载到当前目录
1.2 tar xf jemalloc-3.6.0.tar.bz2 ; cd jemalloc
1.3 ./configure --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""
1.4 make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a
2. gcc -DUSE_JEMALLOC -I./jemalloc/include/ -g -o test common.c config.c flog.c ngx_rbtree.c ngx_event_timer.c zmalloc.c test.c jemalloc/lib/libjemalloc.a -ldl -lpthread -lrt
高并发客户端程序
采用epoll异步非阻塞,单线程实现高并发,参照nginx事件机制,加入非阻塞定时器
注意:
1. 为了读写方便,只处理 4字节头+body 的请求响应协议,复杂协议需要根据特定需求实现。
2. 请求的测试数据预先生成并载入内存,以提高效率。
3. 不做逻辑验证,既不处理返回值内容, 更不能做单元测试。
4. 该程序功能简单高效,稍做修改可直接使用,也可做代码参考,二次开发。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。