之前有同学说 Solon 不是说自己内存很省吗?怎么不找 Go 试试,今天就试试了。Go 在内存方面肯定会更猛,主要是看看 Java 在对比之下能做到什么程度。
做的是一个 web helloworld 的场景测试:(这也是 techempower 的重要测试之一)
本次测试结果如下:
项目 | java (solon) | go (gin) | 备注 |
---|---|---|---|
运行时 | java 1.8(openj9) | go 19.3 | |
操作系统 | mac 14.3 | mac 14.3 | 使用同一台机器 |
硬件 | macbook pro 2020 | macbook pro 2020 | 使用同一台机器 |
测试前状态/内存 | 30.9Mb | 5.8Mb | |
测试后状态/内存 | 92Mb | 14.4Mb | |
测试后状态/并发 | 13万 | 11万 | Solon 终于也胜了一项 |
Go 很好。但是 Java 好像也可以很不错。
过程回顾:
- Gin(Go)的表现
Gin(Go)的内存表现非常稳,几乎没有波动;Qps 也很稳。一开始是多少,后面差不多也是。
- Solon(Java)的表现
Solon(Java)的内存波动较大,最高时到190Mb,但快速收回来了;Qps 倒是一路上升,可能有个预热的过程。
附测试视频(一镜到底):
Java(solon) 挑战 Go(gin) 的内存与并发测试