测试工具: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文件。这样,你在编译的时候就可以直接使用这个静态库了。