如何在 K8s 环境中自动管理网关服务器(使用 OpenResty Edge)
基准测试
章亦春 , 2012 年 4 月 19 日(创建于 2011 年 6 月 21 日)HelloWorld
测试 HelloWorld 服务器的性能并不意味着很多事情,但它确实告诉我们性能上限在哪里。
基于 OpenResty 的 HelloWorld 服务器在 入门 文档中有所描述。
以下是使用命令 http_load -p 10 -s 5 http://localhost:8080/
在我的 ThinkPad T400 笔记本电脑上使用 ngx_openresty 1.0.10.1 获得的结果
139620 fetches, 10 max parallel, 1.67544e+06 bytes, in 5.00001 seconds
12 mean bytes/connection
27923.9 fetches/sec, 335087 bytes/sec
msecs/connect: 0.0531258 mean, 4.076 max, 0.014 min
msecs/first-response: 0.258796 mean, 5.353 max, 0.067 min
HTTP response codes:
code 200 -- 139620
因此在我的笔记本电脑上,对于单个 worker nginx 服务器,我们获得了约 28k r/s。负载下 node
进程的内存占用为 38.0m VIRT,2.5m RES。
为了比较,使用 nginx + php-fpm 5.2.8 的 HelloWorld 服务器提供了约 6k r/s
http_load -p 10 -s 5 url
29703 fetches, 10 max parallel, 326733 bytes, in 5 seconds
11 mean bytes/connection
5940.6 fetches/sec, 65346.6 bytes/sec
msecs/connect: 0.0394686 mean, 1.172 max, 0.02 min
msecs/first-response: 1.62616 mean, 6.744 max, 0.719 min
HTTP response codes:
code 200 -- 29703
以及 node.js v0.6.1 产生了 10k r/s
51206 fetches, 10 max parallel, 614472 bytes, in 5 seconds
12 mean bytes/connection
10241.2 fetches/sec, 122894 bytes/sec
msecs/connect: 0.0356567 mean, 1.316 max, 0.019 min
msecs/first-response: 0.916395 mean, 14.236 max, 0.077 min
HTTP response codes:
code 200 -- 51206
负载下 node
进程的内存占用为 629m VIRT,50m RES。
针对 Mac OS X Lion 用户
请注意,Mac OS X Lion 存在已知问题,需要在尝试复制我们的基准测试结果之前在您的系统上修复这些问题。
简而言之,使用 此修复 提高可用短暂端口的数量。
根据 此帖子 编译最新版本的 ab(Apache 的基准测试工具)。
然后,ab -k -c10 -n10000 -t1 -r 'http://127.0.0.1:8080/'
将提供基准测试结果。
否则,使用另一种轻量级 HTTP 负载测试工具 weighttp 以及调用 weighttp -k -c10 -n10000 'http://127.0.0.1:8080/'
进行基准测试。