很多人都想要应用的内存更少,一个服务器能部署更多的应用。这需要多个方面的努力(就像接力赛):
起跑棒
使用 Solon 应用开发框架能让内存节省 1/2 - 1/3。给了一个很好的内存“低值”(就像一个很好的“地基”),“高值”靠后面的几棒了。
- 一般来讲。开发时多注意些,开发完后都是能保持节省 1/2 - 1/3 的水准。
- 如果使用 OpenJ9 JVM 内存可以再省 1/2 左右。
第二棒(靠架构师的选择)
选择较小的、省内存的第三方框架。选择合适的、克制的。
- 比如,HikariCP 会小些
- 比如,HikariCP 4.x 比 5.x 会小些
- 比如,mysql-connector 5.x 会比 8.x 小些
- 比如:okhttp 3.x 比 4.x 会小些
话又说回来,小不是唯一原则。合适,才重最要。
第三棒(靠程序员写)
开发时,节省内存
- 比如,不断的创建连接池(内容就会不断涨,直到挂掉)
- 比如,文件流读到内存(比较吃内存)。多次读,或转码,或分析,都很费内存
最后棒(看运行)
在相同请求量下,响应越快,越省内存。上下文数据的内存占用时间少,内存的复用性更高。
- 如果并发请求量非常大,就别记较内存了