Solon v3.0.4.1

经验谈:想要打包小、运行内存少?

</> markdown

很多人都想要应用的内存更少,一个服务器能部署更多的应用。这需要多个方面的努力(就像接力赛):

起跑棒

使用 solon 能让内存节省 50% 左右。给了一个很好的内存“低值”,“高值”靠下面两棒了。

  • 一般来讲。开发时多注意些,开发完后都是能保持节省 50% 左右的水准。

第二棒(靠架构师的选择)

选择较小的、省内存的第三方框架。选择合适的、克制的

  • 比如,HikariCP 会小些
  • 比如,HikariCP 4.x 比 5.x 会小些
  • 比如,mysql-connector 5.x 会比 8.x 小些
  • 比如:okhttp 3.x 比 4.x 会小些

能合并的则合并,同类型的不要重复引入多套

  • 比如,用了 hutool 就尽量不加 apache common
  • 比如,用了 hutool-http 就尽量不加 okhttp

话又说回来,小不是唯一原则。合适,才重要。

第三棒(靠程序员写)

开发时,节省内存

  • 比如,不断的创建连接池(内容就会不断涨,直到挂掉)
  • 比如,文件流读到内存(比较吃内存)。多次读,或转码,或分析,都很费内存

最后棒(看运行)

在相同请求量下,上下文数据的内存占用越少(单次内存少),响应越快(占用时间少),越省内存。

  • 可以考虑合理的缓存
  • 如果,并发请求量非常大,要考虑集群