租号玩代理申请
A-A+

网吧小内存服务器使用PrimoCache实现分区缓存以及SSD缓存提升性能的构想(理论篇)

2020年11月24日 问题教程 暂无评论 阅读 593 次

现在很多小网吧还在使用32G以及32G以下内存的服务器,而现在的大多数无盘软件只支持镜像盘缓存+游戏盘缓存(不管你有几个游戏盘,也不管游戏盘是SSD还是机械硬盘HDD),那么问题就来了:

在实际使用过程中发现,在人多的时候,网吧的2T机械硬盘很容易被一直读取,导致磁盘IO一直100%,客户机很卡。

而放在SSD里的游戏通常是热门游戏,根据无盘软件缓存原理,点击越高的,缓存优先级越高,这就陷入了一个死循环,SSD本身就快,热门度又高,又被缓存的优先级又高,所以内存缓存大多给了SSD了,而机械盘一直被读写,通常每个游戏只有1到2个人玩,由于内存的容量限制,很难被缓存到,所以机械盘100%IO以后,客户机会感到卡死,很卡的问题。

后来我向无盘开发商反映过这个问题,他们说有自己算法,貌似不想改为按盘符缓存,那么现在有2种解决方法:

1.服务器上SSD,不要使用机械盘,或者加到内存到64G或96G(很多小网吧使用普通主板,貌似不现实)

2.把内存大多数缓存到给机械盘,SSD有2到4G就够了,反正本身速度也很快,还有一个方法就是再加一个空闲的SSD作为2级缓存,当内存不够缓存的时候,缓存到SSD里。

那么今天我们要说到的方案就是利用PrimoCache来实现第2种方法:

PrimoCache分为桌面版和企业版,授权也不算很贵,桌面版360,企业版720,可以自行购买

-------------------------------
安装过程不再介绍,由于这个软件带有驱动,所以安装完成以后会有重启提示,所以在人少的时候操作服务器比较好:

PrimoCache实现分区缓存

点击左上角的加号

PrimoCache实现分区缓存

然后选择你要缓存的磁盘,我们这里选择G盘作为示例

PrimoCache实现分区缓存

用在网吧服务器上的,一般是供客户机读取数据的,客户机的回写是写到回写盘的,所以这里提升读性能就行,如果内存宽裕,可以选择 提升读&写性能

PrimoCache实现分区缓存

在下面的逻辑卷属性中,把延时写入关闭 (如果你有UPS而且有自动检测停电关闭服务器的话可以开启) 预取也关闭,只保留2级缓存即可。

PrimoCache实现分区缓存
然后在左边可以选择开启 2级缓存 比如用SSD作为2级缓存,1级缓存是内存,当内存缓存不够的时候,可以先缓存到SSD里,这个东西会导致SSD性能下降的厉害,所以建议使用intel ssd toolbox把对应的SSD设置为每周自动优化一次性能最好。

PrimoCache实现分区缓存

最后我们就可以看到缓存数据了,因为这是个人电脑,我没有开启2级缓存(要格式化SSD)。

更多介绍可以看官方说明:http://www.romexsoftware.com/zh-cn/primo-cache/terms-configuration.html

这样以来,我们就可以比如设置2G镜像缓存,然后是2GSSD游戏盘缓存,剩余的内存统统缓存机械盘,如果有多余SSD,再用SSD来2级缓存机械盘,最后如此想来,易乐游之所以性能出众,就是因为支持每个盘符设置缓存的原因吧? 我最后使用的易乐游版本是1163版本,不是乾坤版。

嗯,写的有点乱,本文的思想就是按盘符缓存,等我最近有空研究找个网吧试一下本篇理论,我很有信心的。

本文里的软件也可以用 supercache 替代完成。

晚上有一个朋友给了一个更好用的独立版缓存软件,和本文里的软件的效果一样,大家可以尝试:

云更新超级缓存独立版 缓存支持大于32G内存 和 快吧超级缓存独立版 软件下载。

京东空调大促销