关于网众的服务端缓存设置—乱弹 第一季
一.加大内存比加SSD的效果好。
二.并不是所有的主板都支持增加足够内存,这时候可以采用增加SSD缓存的方案。
三.可以盲目加内存,但不能盲目地把内存给网众做缓存用。
四.Linux会管理好内存,不要担心您增加的内存浪费了。网众缓存的代码品质不会超过Linux,存在的原因只是因为专门做一件事情,意思是网众缓存是专一(映像读缓存),而Linux的缓存是广博(文件读写缓存)。
五.有厂商把推荐内存加到144G,这个我只能认为是:崽卖爷田不心疼。
六.2008 R2可能不小心看到了Linux的代码; 这个意思是你用网众快车无盘+2008R2也可以按照类似的缓存设置,但下载游戏部分会用到更多的内存,所以建议更保守一些。
七.到现在为止,一个映像最多设置32G内存缓存,以后版本会开放到128G或者更大。
八.网众缓存有三部分:M + S + L,分别代表【内存部分命中(参与淘汰)+SSD部分命中(参与淘汰)+锁定内存(非淘汰)】,加起来最大为100%,超过了肯定是网众bug。
由于对上述原则把握不准,所以兄弟们总是产生今天晚上一定要数数月亮的想法,问4G,8G, 12G, 16G, 24G…144G内存的服务器应该如何设置缓存…….
这个问题本身就不太准确,因为每个网吧的客户群体都不太一样,所以我们应该具体网吧具体分析,这个地方可没有“XXX思想”可以指导。
所有的缓存都是为了降低服务器的压力,用内存这种快速设备的存取来取代或者延缓硬盘这种慢速设备的存取。有人说,你胡说,我的硬盘都是15000转的,*$@^%@^%^...... 不管机械硬盘转得如何快,机械硬盘一定慢过SSD硬盘,然后SSD硬盘慢过内存。所以网众的缓存有两级结构,内存缓存和SSD缓存。这两种缓存是兄弟关系,不是父子关系,意思是SSD缓存中不会出现内存缓存中的内容。SSD缓存的存在是因为性价比的需要或者实际情况的限制(比如服务器只插得下一根内存)
我们先来评估一下【未使用SSD缓存】的情况,毕竟SSD还算新事物。
最通常的情况:8G内存……8G是因为以前网众推荐的服务器很多配置是8G内存的。现在这8G内存要同时给Linux和网众【内存缓存】使用,那么网众【内存缓存】应该设置多大呢?【使用情景: 只使用了一个物理硬盘包括windows+游戏,所以我们只需要设置一个服务端缓存。 如果是映像+物理,则内存使用是两者内存缓存的叠加】1) 一般的原则是至少保留3G给Linux使用,所以我第一步设置5G给网众【内存缓存】使用,然后我开始观察命中率(这个观察过程可能持续2~3天),我们分别来看三种情况。
2) 第一种情况:命好,命中率99.3%......有些兄弟属于偏执狂,为什么我就做不到100%呢,这是为什么呢?这是为什么呢?这是因为你是偏执狂!!!所谓的100%命中率就是100次硬盘读被狗屎运到100次内存里恰好已经有了…99%就是100次有99次踩到狗屎了,你还想怎样?
【a】 这种情况下我会开始减小网众【内存缓存】的大小,我会尝试设置4G,然后继续观察命中率,如果仍然是99.3%......兄弟,你明天一定要去买彩票。下一步怎么做:当然把网众【内存缓存】再减少1G继续,然后重复 【a】
【b】 上帝是公平的,命中率变成93%了,算了,我认命,就这样吧。有的兄弟不干了,咱想要马儿跑,但咱确实不想它吃草,再减少一点网众【内存缓存】继续观察,呃,到90%了,打住吧,给网众点面子。不给面子的家伙继续减少网众【内存缓存】,结果如下:
【c】 命中率60%......怎么办?怎么办?开始增大网众【内存缓存】继续观察。
3) 第二种情况,中上签,命中率80%.......第一种情况,这网吧老板看起来也不多给咱钱,要他买条内存还问能不能便宜点,算了,就这样吧。第二种情况,网吧老板把胸脯拍得那个响啊,咱哥们有钱,相当地有钱……那就加内存呗。加了内存之后把网众【内存缓存】调大一点,我们的目标是90%以上。
4) 第三种情况,下下签,命中率20%......没话讲的,让网吧老板一定得加点内存。
5) 综观上述情况,大家应该得出如下结论: 想要效果好,每家网吧的缓存设置都要自己去微调/观察。如果缓存命中率90%以上了,就应该把内存留下来给Linux自己使用。有兄弟问,那怎么把内存留下来给Linux用啊,我怎么告诉Linux啊?其实你不用特意去告诉它,它可自觉了,只要有空余的内存,Linux都会拿过去用。
下面我们再来看96G内存的情况 :
1) 给网众【内存缓存】32G,观察命中率,如果命中率高,则一点点减少网众【内存缓存】看……
2) 如果命中率低,则加大网众【内存缓存】观察。
3) 如果只有0%的命中率……好象不太可能吧?那得要查查了……
下面我们再来看2G内存的情况 :
1) 我们先给……¥%&$^&**&(&,不用试了,告诉网吧老板一定得加点内存
2) 如果网吧老板说那破主板,你加得上你去加,坏了好几个槽了…怎么办?
3) 立马决定卖给他新服务器
4) 网吧老板决定把网吧倒给你,怎么办?网吧还是留给他自己,帮他加块SSD吧。
大家有没有发现,其实是所有内存大小我们都只是先给一个初始值来观察命中率,以确定最终给出多少内存缓存。
2G….别给缓存了…
4G…..尝试1G看看,如果命中率不够,可以考虑加内存或者SSD…
8G…..尝试5G看看,如果命中率不够,可以考虑加内存或者SSD…
12G….尝试9G,这种情况一般都是双cpu插了一颗,建议增加一颗cpu以及12G内存,效果比较好。不用
16g….尝试12G,如果命中率高达99~100%,一定要减小缓存,继续观察,让命中率降低到90~95%左右……
原来内存越大的网吧一般是服务器越新的网吧,一般就越能插更多的内存;原来内存小的网吧一般都是准备换破旧服务器的网吧,你非常有机会卖给他新的服务器。。。在他没有做决定之前可以增加条内存或者增加一块SSD做缓存,维护一下良好的关系。
原则上是:只要能达到95%的命中率,一定要把所有的内存留下来给linux自己用…..不要用来增加网众【内存缓存】,你增加了也是浪费,命中率从95%增加到96%不会让性能有质的变化。
结论是:设置的网众【内存缓存】的大小,应该是能让命中率达到90%~95%的最小内存数目。
一.加大内存比加SSD的效果好。
二.并不是所有的主板都支持增加足够内存,这时候可以采用增加SSD缓存的方案。
三.可以盲目加内存,但不能盲目地把内存给网众做缓存用。
四.Linux会管理好内存,不要担心您增加的内存浪费了。网众缓存的代码品质不会超过Linux,存在的原因只是因为专门做一件事情,意思是网众缓存是专一(映像读缓存),而Linux的缓存是广博(文件读写缓存)。
五.有厂商把推荐内存加到144G,这个我只能认为是:崽卖爷田不心疼。
六.2008 R2可能不小心看到了Linux的代码; 这个意思是你用网众快车无盘+2008R2也可以按照类似的缓存设置,但下载游戏部分会用到更多的内存,所以建议更保守一些。
七.到现在为止,一个映像最多设置32G内存缓存,以后版本会开放到128G或者更大。
八.网众缓存有三部分:M + S + L,分别代表【内存部分命中(参与淘汰)+SSD部分命中(参与淘汰)+锁定内存(非淘汰)】,加起来最大为100%,超过了肯定是网众bug。
由于对上述原则把握不准,所以兄弟们总是产生今天晚上一定要数数月亮的想法,问4G,8G, 12G, 16G, 24G…144G内存的服务器应该如何设置缓存…….
这个问题本身就不太准确,因为每个网吧的客户群体都不太一样,所以我们应该具体网吧具体分析,这个地方可没有“XXX思想”可以指导。
所有的缓存都是为了降低服务器的压力,用内存这种快速设备的存取来取代或者延缓硬盘这种慢速设备的存取。有人说,你胡说,我的硬盘都是15000转的,*$@^%@^%^...... 不管机械硬盘转得如何快,机械硬盘一定慢过SSD硬盘,然后SSD硬盘慢过内存。所以网众的缓存有两级结构,内存缓存和SSD缓存。这两种缓存是兄弟关系,不是父子关系,意思是SSD缓存中不会出现内存缓存中的内容。SSD缓存的存在是因为性价比的需要或者实际情况的限制(比如服务器只插得下一根内存)
我们先来评估一下【未使用SSD缓存】的情况,毕竟SSD还算新事物。
最通常的情况:8G内存……8G是因为以前网众推荐的服务器很多配置是8G内存的。现在这8G内存要同时给Linux和网众【内存缓存】使用,那么网众【内存缓存】应该设置多大呢?【使用情景: 只使用了一个物理硬盘包括windows+游戏,所以我们只需要设置一个服务端缓存。 如果是映像+物理,则内存使用是两者内存缓存的叠加】1) 一般的原则是至少保留3G给Linux使用,所以我第一步设置5G给网众【内存缓存】使用,然后我开始观察命中率(这个观察过程可能持续2~3天),我们分别来看三种情况。
2) 第一种情况:命好,命中率99.3%......有些兄弟属于偏执狂,为什么我就做不到100%呢,这是为什么呢?这是为什么呢?这是因为你是偏执狂!!!所谓的100%命中率就是100次硬盘读被狗屎运到100次内存里恰好已经有了…99%就是100次有99次踩到狗屎了,你还想怎样?
【a】 这种情况下我会开始减小网众【内存缓存】的大小,我会尝试设置4G,然后继续观察命中率,如果仍然是99.3%......兄弟,你明天一定要去买彩票。下一步怎么做:当然把网众【内存缓存】再减少1G继续,然后重复 【a】
【b】 上帝是公平的,命中率变成93%了,算了,我认命,就这样吧。有的兄弟不干了,咱想要马儿跑,但咱确实不想它吃草,再减少一点网众【内存缓存】继续观察,呃,到90%了,打住吧,给网众点面子。不给面子的家伙继续减少网众【内存缓存】,结果如下:
【c】 命中率60%......怎么办?怎么办?开始增大网众【内存缓存】继续观察。
3) 第二种情况,中上签,命中率80%.......第一种情况,这网吧老板看起来也不多给咱钱,要他买条内存还问能不能便宜点,算了,就这样吧。第二种情况,网吧老板把胸脯拍得那个响啊,咱哥们有钱,相当地有钱……那就加内存呗。加了内存之后把网众【内存缓存】调大一点,我们的目标是90%以上。
4) 第三种情况,下下签,命中率20%......没话讲的,让网吧老板一定得加点内存。
5) 综观上述情况,大家应该得出如下结论: 想要效果好,每家网吧的缓存设置都要自己去微调/观察。如果缓存命中率90%以上了,就应该把内存留下来给Linux自己使用。有兄弟问,那怎么把内存留下来给Linux用啊,我怎么告诉Linux啊?其实你不用特意去告诉它,它可自觉了,只要有空余的内存,Linux都会拿过去用。
下面我们再来看96G内存的情况 :
1) 给网众【内存缓存】32G,观察命中率,如果命中率高,则一点点减少网众【内存缓存】看……
2) 如果命中率低,则加大网众【内存缓存】观察。
3) 如果只有0%的命中率……好象不太可能吧?那得要查查了……
下面我们再来看2G内存的情况 :
1) 我们先给……¥%&$^&**&(&,不用试了,告诉网吧老板一定得加点内存
2) 如果网吧老板说那破主板,你加得上你去加,坏了好几个槽了…怎么办?
3) 立马决定卖给他新服务器
4) 网吧老板决定把网吧倒给你,怎么办?网吧还是留给他自己,帮他加块SSD吧。
大家有没有发现,其实是所有内存大小我们都只是先给一个初始值来观察命中率,以确定最终给出多少内存缓存。
2G….别给缓存了…
4G…..尝试1G看看,如果命中率不够,可以考虑加内存或者SSD…
8G…..尝试5G看看,如果命中率不够,可以考虑加内存或者SSD…
12G….尝试9G,这种情况一般都是双cpu插了一颗,建议增加一颗cpu以及12G内存,效果比较好。不用
16g….尝试12G,如果命中率高达99~100%,一定要减小缓存,继续观察,让命中率降低到90~95%左右……
原来内存越大的网吧一般是服务器越新的网吧,一般就越能插更多的内存;原来内存小的网吧一般都是准备换破旧服务器的网吧,你非常有机会卖给他新的服务器。。。在他没有做决定之前可以增加条内存或者增加一块SSD做缓存,维护一下良好的关系。
原则上是:只要能达到95%的命中率,一定要把所有的内存留下来给linux自己用…..不要用来增加网众【内存缓存】,你增加了也是浪费,命中率从95%增加到96%不会让性能有质的变化。
结论是:设置的网众【内存缓存】的大小,应该是能让命中率达到90%~95%的最小内存数目。