响应式 HTTP 服务器与客户端的性能分析与实践
1. 阻塞与响应式服务器基准测试
为了说明编写非阻塞、响应式 HTTP 服务器的价值和好处,我们对不同的服务器实现进行一系列基准测试。选择的基准测试工具 wrk 也是非阻塞的,否则它无法模拟数万个并发连接的负载。另一个有趣的选择是 Gatling,它基于 Akka 工具包构建。而像 JMeter 和 ab 这样的传统基于线程的负载工具,无法模拟如此高的负载,甚至会成为测试的瓶颈。
1.1 基准测试环境
所有基准测试都在运行 Linux 3.13.0 - 62 - generic 内核的家用笔记本上进行,笔记本配备了 Intel i7 2.4 GHz CPU、8 GB 内存和固态硬盘(SSD)。客户端机器运行官方的 wrk 工具,Gatling 和 JMeter 通过千兆以太网路由器连接到服务器机器。客户端和服务器机器之间的平均 ping 值为 289 μs(偏差 42 μs,最小值 160 μs)。
每个基准测试在 JDK 1.8.0_66、RxJava 1.0.14、RxNetty 0.5.1 和 Netty 4.0.32.Final 环境下运行至少一分钟,预热时间为 30 秒。使用 htop 工具测量系统负载。基准测试使用以下命令执行( -c 参数表示并发客户端的数量):
wrk -t6 -c10000 -d60s --timeout 10s --latency http://server:8080
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



