使用mojo作为生产服务的时候可以使用mojo自带的hypnotoad服务,类似apache的workers模式,可以根据参数产生指定的进程来加大并发能力。
以下是ab测试为1 worker,4 works和8 works的并发情况。
服务器硬件环境:I5 6300U, 4核心,4G内存,运行在VM虚拟机上
服务器软件环境:CentOS 6.5 64位, Perl 5.24 64位
ab范例
ab -c 200 -n 10000 http://192.168.100.10:8080
服务端:一个查询和写入redis数据的功能
1 work:Requests per second: 68.74 [#/sec] (mean)
4 works:Requests per second: 202.60 [#/sec] (mean)
8 works:Requests per second: 420.37 [#/sec] (mean)
16 works:ab崩溃了一次,第二次测试降低到4 works都不如,同时有请求出错的情况。
对于mojo来说,如果你服务端用的不是异步的写法,那么多works可以帮你缓解并发的问题。