目標
比較相同壓力下,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的五分之一