3 Star 5 Fork 3

laozi2 / concurrent-tcp-client

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
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. 该程序功能简单高效,稍做修改可直接使用,也可做代码参考,二次开发。

空文件

简介

make large concurrent requests on tcp socket, can be used as pressure test 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/laozi2/concurrent-tcp-client.git
git@gitee.com:laozi2/concurrent-tcp-client.git
laozi2
concurrent-tcp-client
concurrent-tcp-client
master

搜索帮助