百万级别长连接,并发测试指南
前言 都说haproxy很牛x, 可是测试的结果实在是不算满意, 越测试越失望,无论是长连接还是并发, 但是测试的流程以及工具倒是可以分享分享。也望指出不足之处。 100w的长连接实在算不上太难的事情,不过对于网上关于测试方法以及测试工具的相关文章实在不甚满意,才有本文。 本文有两个难点,我算不上完全解决。 后端代码的性能. linux内核参数的优化. 环境说明 下面所有的测试机器都是基于openstack云平台,kvm虚拟化技术创建的云主机。 由于一个socket连接一般占用8kb内存,所以百万连接至少需要差不多8GB内存. 建立长连接主要是需要内存hold住内存,理论上只需要内存就足够了,不会消耗太多cpu资源, 相对内存而言. 而并发则对cpu很敏感,因为需要机器尽可能快的处理客户端发起的连接。 本文的并发主要指 每秒 处理的请求. 硬件配置 类型 配置 数量 后端 16核32GB 1 客户端 2核4GB 21 软件配置 类型 长连接 并发 后端 python && gevent golang 客户端 locust && pdsh locust & pdsh IP地址 haproxy 192.168.111.111 client-master 192.168.111.31 client-slave 192.168.111.1[13-32] 测试步骤 系统调优 最大文件打开数