设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 创业者
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

进击的 Java ,云原生时代的蜕变(4)

发布时间:2019-09-20 16:14 所属栏目:21 来源:易立
导读:在这个方案中,我们一方面将耗时耗能的编译优化过程转移到构建时完成,一方面采用以空间换时间的方法,将预编译的 SCC 缓存保存到 Docker 镜像中。在容器启动时,JVM 可以直接使用内存映射文件来加载 SCC,优化了启

在这个方案中,我们一方面将耗时耗能的编译优化过程转移到构建时完成,一方面采用以空间换时间的方法,将预编译的 SCC 缓存保存到 Docker 镜像中。在容器启动时,JVM 可以直接使用内存映射文件来加载 SCC,优化了启动速度和资源占用。

这个方法另外一个优势是:由于 Docker 镜像采用分层存储,同一个宿主机上的多个 Docker 应用实例会共享同一份 SCC 内存映射,可以大大减少在单机高密度部署时的内存消耗。

下面我们做一下资源消耗的比较,我们首先利用基于 HotSpot VM 的镜像,同时启动 4 个 Docker 应用实例,30s 后利用docker stats查看资源消耗。

  1. $ ./run-hotspot-4.sh 
  2. ... 
  3. Wait a while ... 
  4. CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS 
  5. 0fa58df1a291        instance4           0.15%               597.1MiB / 5.811GiB   10.03%              726B / 0B           0B / 0B             33 
  6. 48f021d728bb        instance3           0.13%               648.6MiB / 5.811GiB   10.90%              726B / 0B           0B / 0B             33 
  7. a3abb10078ef        instance2           0.26%               549MiB / 5.811GiB     9.23%               726B / 0B           0B / 0B             33 
  8. 6a65cb1e0fe5        instance1           0.15%               641.6MiB / 5.811GiB   10.78%              906B / 0B           0B / 0B             33 
  9. ... 

然后使用基于 OpenJ9 VM 的镜像,同时启动 4 个 Docker 应用实例,并查看资源消耗。

  1. $ ./run-openj9-warmed-4.sh 
  2. ... 
  3. Wait a while ... 
  4. CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS 
  5. 3a0ba6103425        instance4           0.09%               119.5MiB / 5.811GiB   2.01%               1.19kB / 0B         0B / 446MB          39 
  6. c07ca769c3e7        instance3           0.19%               119.7MiB / 5.811GiB   2.01%               1.19kB / 0B         16.4kB / 120MB      39 
  7. 0c19b0cf9fc2        instance2           0.15%               112.1MiB / 5.811GiB   1.88%               1.2kB / 0B          22.8MB / 23.8MB     39 
  8. 95a9c4dec3d6        instance1           0.15%               108.6MiB / 5.811GiB   1.83%               1.45kB / 0B         102MB / 414MB       39 
  9. ... 

与 HotSpot VM 相比,OpenJ9 的场景下应用内存占用从平均 600MB 下降到 120MB。惊喜不惊喜?

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读