
1 ipconfiger Jul 23, 2014 ab -c 10000 -n 10000 -r http://localhost:8998/echo 你在开玩笑的吧 |
2 est Jul 23, 2014 槽点太多。不知道从哪里吐。 |
3 mengzhuo OP |
5 fanta Jul 23, 2014 c10k指的应该是接入socket的数量, 不包含其它的处理,每个socket都会占用内存的,所以机器的内存太小也不行. |
6 ipconfiger Jul 23, 2014 keep住1W个链接,并不代表每秒能处理1w的请求啊,1W的连接数和1W的QPS是两码事哦 |
7 mengzhuo OP @ipconfiger @fanta 原来是这样…… 那怎么测试C10K? 只需要 ``` [socket.socket().connect(('localhost', 8998)) for x in xrange(10000)] ``` ? |
8 ipconfiger Jul 23, 2014 多找点机器来当客户端,每个客户端1K个连接嘛,然后频繁的发ping pong |
9 mengzhuo OP @ipconfiger 我单机链接的…… tcp 0 0 127.0.0.1:8998 127.0.0.1:42207 ESTABLISHED tcp 0 0 127.0.0.1:34349 127.0.0.1:8998 ESTABLISHED ...... $ netstat -nt | grep 8998 | wc -l 20004 这样算不算C10K了……只要不发数据包,gevent太淡定了,直接hold住了 |
11 ipconfiger Jul 23, 2014 @mengzhuo 现在的机器性能来说这都是很easy的,别人都在show单机100W连接了,连接起完了20多G内存就不见了 |
12 mengzhuo OP @julyclyde @ipconfiger 原来是遗留的问题 我还是折腾RQS吧 我是双核PC 同样输出一样的HTML模板,单核下,bottle 和 nginx 都只能1300左右RQS, 协程果然牛B 不过nginx升到4 个workers就能1W4 RQS....乖乖起4个线程跑应用好了 |
13 mengskysama Jul 23, 2014 CK10 保持住1W链接,ping pong。不能用http来测试。 其实没必要这么测。在另外多启动几台机器启动1000线程不断进行HTTP REQ,这样测试出来更有意义。 |
14 mengzhuo OP @mengskysama 按你说的方法测试了一下, 其他机子竟然可以有这种响应速度了…… Requests per second: 2487.28 [#/sec] (mean) Time per request: 40.205 [ms] (mean) Time per request: 0.402 [ms] (mean, across all concurrent requests) Transfer rate: 347.34 [Kbytes/sec] received |
15 mengzhuo OP 最差的机子上也是 Requests per second: 1012.04 [#/sec] (mean) Time per request: 98.810 [ms] (mean) Time per request: 0.988 [ms] (mean, across all concurrent requests) Transfer rate: 5709.52 [Kbytes/sec] received 照这个处理速度和能力……只是访问主页的话能顶住8千万日PV? |
17 mengskysama Jul 23, 2014 @mengzhuo 妥妥的,试试flask我印象中结果更快。。。。虽然没啥意义就是了。好像还支持多线程来着 |
18 mengskysama Jul 23, 2014 |