公司要重构一个统计项目,统计部分要提供一个web收数的接口,由于统计系统的日志量十分大,因此对web服务的性能要求很严格,在技术选择的背景下作了golang和java的性能对比.
html
测试环境:java
mac pro 13.4.0golang
golang: go version go1.3.1 darwin/amd64web
java: 1.7.0_71, 基于tomcat容器apache
测试工具tomcat
apache Ab工具: http://httpd.apache.org/docs/2.2/programs/ab.html 并发
测试流程工具
golang使用源生的net/http服务搭建http项目,接口输出hello world性能
java使用servlet 搭建web项目,接口一样输出hello world测试
ab工具使用 ab -c 100 -n 1000 http://127.0.0.1/track_proxy 表示模拟100个客户端并发发送共1000个请求
测试结果
GOMAXPROCS=1(括号内为GOMAXPROCS=4 )
从测试结果来看, GOMAXPROCS = 1时, golang的http性能比java略微有一些优点, GOMAXPROCS = 4时,golang的http性能稍微有所提高, 整体来讲golang表现胜出, 因此,仍是用go吧~~