首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当服务器节点数量增加时,点燃不将所有记录加载到缓存中?

为什么当服务器节点数量增加时,点燃不将所有记录加载到缓存中?
EN

Stack Overflow用户
提问于 2018-03-07 06:29:40
回答 1查看 817关注 0票数 0

我已经开发了具有第三方持久化的点燃样例数据网格应用程序。我有一个名为UserInfo的实体。我已经生成了3602000条记录,并将它们添加到数据库中。我的机器上有64 GB的内存。我正在运行n个服务器节点,在集群初始化之后,运行一个客户端节点来触发加载缓存。当我运行一两个服务器节点,然后加载缓存时,一切都很好。所有记录都加载到缓存中。当我运行4个服务器节点时,大约一半的记录被加载到缓存中。这台机器上有很多空闲内存。我为示例应用程序https://github.com/serdroid/userinfo创建了一个github。

在下面这两种情况下都有空闲命令输出和点燃命令输出。

在启动服务器之前

代码语言:javascript
复制
free --giga
              total        used        free      shared  buff/cache   available
Mem:             65           8          52           0           4          56

使用-Xmx4G运行的2个服务器节点

代码语言:javascript
复制
Loaded 3602000 keys with backups in 255911ms.

自由存储器

代码语言:javascript
复制
free --giga
              total        used        free      shared  buff/cache   available
Mem:             65          20          38           0           6          45

缓存细节

代码语言:javascript
复制
Nodes for: info.serdroid.userinfo.grid.model.UserInfo(@c0)
+================================================================================================================+
|       Node ID8(@), IP        | CPUs | Heap Used | CPU Load |   Up Time    |         Size         | Hi/Mi/Rd/Wr |
+================================================================================================================+
| 800C684F(@n1), 10.251.74.157 | 4    | 87.97 %   | 0.40 %   | 00:13:07.851 | Total: 1837114       | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 1837114  | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+------------------------------+------+-----------+----------+--------------+----------------------+-------------+
| 40FD7F83(@n0), 10.251.74.157 | 4    | 86.30 %   | 0.40 %   | 00:13:25.431 | Total: 1764886       | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 1764886  | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+----------------------------------------------------------------------------------------------------------------+

使用-Xmx4G运行的4个服务器节点

代码语言:javascript
复制
Loaded 1805474 keys with backups in 98203ms.

自由存储器

代码语言:javascript
复制
free --giga
              total        used        free      shared  buff/cache   available
Mem:             65          23          35           0           6          41

缓存细节

代码语言:javascript
复制
Nodes for: info.serdroid.userinfo.grid.model.UserInfo(@c0)
+================================================================================================================+
|       Node ID8(@), IP        | CPUs | Heap Used | CPU Load |   Up Time    |         Size         | Hi/Mi/Rd/Wr |
+================================================================================================================+
| 9B36B2E9(@n2), 10.251.74.157 | 4    | 65.52 %   | 0.27 %   | 00:14:58.116 | Total: 534454        | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 534454   | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+------------------------------+------+-----------+----------+--------------+----------------------+-------------+
| 1222A1A4(@n0), 10.251.74.157 | 4    | 39.65 %   | 2.33 %   | 00:15:06.421 | Total: 389344        | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 389344   | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+------------------------------+------+-----------+----------+--------------+----------------------+-------------+
| 8699AB89(@n1), 10.251.74.157 | 4    | 62.77 %   | 0.23 %   | 00:15:01.325 | Total: 441069        | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 441069   | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+------------------------------+------+-----------+----------+--------------+----------------------+-------------+
| 8B43AF4C(@n3), 10.251.74.157 | 4    | 65.44 %   | 1.73 %   | 00:14:55.624 | Total: 440607        | Hi: 0       |
|                              |      |           |          |              |   Heap: 0            | Mi: 0       |
|                              |      |           |          |              |   Off-Heap: 440607   | Rd: 0       |
|                              |      |           |          |              |   Off-Heap Memory: 0 | Wr: 0       |
+----------------------------------------------------------------------------------------------------------------+
EN

回答 1

Stack Overflow用户

发布于 2018-03-07 15:41:04

  1. 使用离堆内存来存储数据。请按照https://apacheignite.readme.io/docs/memory-configuration中描述的那样配置(放大)数据区域。
  2. Apache以一种懒散的方式通过设计将数据从存储区加载到内存中。您可以手动使用Cache.loadCache(null)强制数据重新加载,也可以使用EventType.EVT_NODE_JOINED本地事件作为触发器。有关更多细节,请参见https://apacheignite.readme.io/docs/events
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49145540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档