前面测试还有一些现象没有列出来,例如cpu、内存、io等情况。
整体上来说sendfile时, cpu占用在3%,内存使用1.5G,IO 很低只有瞬时达到百分之6、7十的情况,网卡利用率大多在90+%。
AIO、directio的情况,cpu、内存使用情况和上面基本一样,但IO非常繁忙,整体维持在70%左右,网卡利用率不到90%,说明这种参数配置的性能消耗在IO上面。
当然我的测试是根据我们自己的需要进行的,而且测试环境也是受限的,只用了2台普通PC。
从测试数据来看sendfile参数配置的场景下,资源消耗很低、效率很高,在低并发(10)和高并发(1000)的性能都很优秀,nginx在这种参数配置下稳定性也很好。
AIO、directio参数配置的场景下,10并发响应时间是sendfile的3倍左右,100二者较为接近稍微比sendfile差一点,1000并发时测试过程自动中断,且AIO、directio的IO消耗很大。因此在我的场景下不适合用AIO、directio参数配置。
响应所有请求的时间(s)/每秒处理请求个数(个)/一个请求的响应时间(ms)