目标
比较相同压力下,Go和Java的性能表现
步骤
1、机器:CPU:Intel(R) Xeon(R) Gold 6138 CPU @ 2.00GHz,2个CPU,CPU核数为2,内存4G
2、Java测试程序:使用springboot开发一个简单的web服务,提供一个接口,返回一个字符串
3、Go测试程序:使用Gin开发一个简单的web服务,同样提供一个返回字符串的接口
4、压力测试工具:使用wrk,命令wrk -t12 -c400 -d30s,代表12个线程,100个并发,持续30秒
结果
1、请求数:Go 49万,Java 39万
2、平均响应时间:Go 6.5ms,Java 8.65ms
3、平均QPS:Go 1.38k,Java 1.1k
结论:Java的性能约为Go的四分之三
注意:
1、使用Gin时,要关闭日志,否则性能差不多是Java的五分之一