1、TcpClient编写客户端类
2、支持定时事件TimerQueue
实现定时功能的数据结构:
- muduo:链表/队列
- libevent:时间轮
- nginx定时器:红黑树
3、DNS、HTTP、RPC
DNS域名解析
HTTP服务器
RPC
4、丰富的使用示例examples目录
提供了很多示例代码,muduo库的正确使用姿势
5、服务器性能测试 - QPS
涉及linux上进程socketfd的设置相关,需要设置使用描述符的上限,用来支持更大的连接量
QPS的大小就是每秒支持多少的查询
压力测试工具
wrk
在linux上,需要单独编译安装 直接创建线程组,发送的时间,压力测试的持续时间,但是只能测试http服务的性能,http服务器,支持httpAPI的性能。但是muduo库是基于tcp的服务器,就需要用到Jmeter
Jmeter 先安装JDK 再安装Jmeter
测试http服务、tcp服务、生成聚合报告(生成详细的报表,起了多少个线程来模拟客户端,总共压力测试多长时间,总共发送多少请求,总共响应多少请求,平均的请求时间,最大的请求耗费时间,最小的请求耗费时间,整个的请求,响应的成功率,QPS的值,都会详细列出来)