测试工具:ab(apacheBench)
硬件环境:
Intel xeon cpu E5-2682 v4 2.50GHz 4 core
8GBytes 内存
软件环境:
ubuntu16
nginx
静态文件
3Kbytes
26000次响应/秒(平均值)
吞吐量:111Mbytes/秒(平均值)
并发数:300
每次请求响应时间:10.8[ms](平均值)
58Kbytes
20000次响应/秒(平均值)
吞吐量:1165Mbytes/秒(平均值)
并发数:300
每次请求响应时间:14.2[ms](平均值)
beego
动态文件
3Kbytes
16000次响应/秒(平均值)
吞吐量:52Mbytes/秒(平均值)
并发数:330
每次请求响应时间:20.2[ms](平均值)
性能测试结果分析:
从以上结果可以看出,nginx对静态文件的处理性能,不论是是吞吐量、并发量、单位请求处理时间上,都很强大。而且cpu占用只有50%。整个性能表现受到ab单进程的限制,并没有完全发挥。
而beego的动态文件处理,性能也很强大。同样的文件(3Kbytes),nginx作为静态文件处理时,性能是每秒2.6W次响应。到了beego作为动态文件处理,依然可以达到每秒1.6万次响应的性能,性能下降较小。相对于静态文件处理,动态文件处理server需要经过更多流程才能完成输出,所以都会出现性能下降。
beego在处理时,服务器 cpu使用率达到了95%,而之前在笔记本上测试时,i3 cpu使用率也达到了93%,说明beego拥有良好的伸缩性。可以随着硬件(CPU、内存)的加强,发挥出更强的性能。
beego gin httprouter哪个性能最好
revel 如果有其他语言框架(RoR,Django)开发经验的话这个上手很快 beego 开发接口很合适,网站也不错,不过框架设计不如revel现代一些 martini 类: martini, macaron, gin, tango martini 模块化,定制型好,性能不如beego,revel macaron 相对martini
beego默认处理静态文件性能低下怎么办
你已经用gcc编译出目标文件了,用ar工具打包成.a文件就行了啊,示例:如上图,假设我有test1.c,test2.c两个源文件,先使用gcc-c*.c将源文件编译成目标文件,可以看到,生成了test1.o,test2.o两个目标文件,然后,使用ar命令:arcrvlibtest.a*.o将该目录下的所有目标文件打包生成了libtest.a文件。这样,你在编译的时候就可以直接使用这个静态库了。