我们的VPS的kmemsize限制是否太低?

简洁版本:

是否有关于Virtuozzo / OpenVZ中用作Web服务器的容器的kmemsize限制和限制的官方指南? 我们发现博客和论坛上的post说kmemsize应该至less是vmguarpages的10%(在转换为相同的单位之后)。 可悲的是,我们没有发现引用这个10%断言的权威性参考(甚至是一个理由)。 任何想法的10%的想法来自哪里?

长版本:

我的客户有一个运行CentOS 5.9 64bit的1and1托pipe的VPS的网站。 该网站是广泛的,但特别值得注意的是一个在线调查,通常是从同一个地点的同一群体的人(图片教室)完成的。 有时(但并非全部)当一个小组几乎在同一时间开始调查过程时,我们发现在我们的VPS上的“持有”价值有巨大的上涨。 起初,这导致我们超出kmemsize限制,增加我们的kmemsize failcnt,并向用户的浏览器发送错误。 通过调整Apache的MaxClients,我可以避免超出kmemsize限制。 但是,如果我们达到极限,http请求就会排队等待,网站会慢慢爬行,页面加载需要花费几分钟的时间,这可以说没有比崩溃更好的了。 似乎很清楚,我们需要更高的限制/限制。

这是背景。 我真正的问题是关于我们目前的限制是否合理。 我们应该有1G的RAM“保证”(vmguarpages障碍设置为262144),可能爆发高达4G。 但是我已经注意到,即使我们已经接近或处于kmemsize的限制, free还是会报告我们使用的内存不足60万k。 /proc/user_beancounters报告我们的kmemsize屏障为31457280,限制为34603008。如上面的短版本所引用的,我们发现网站声称kmemsize应该设置为由vmguarpages设置的“保证”内存的至less10%。 做math我performance出我们在

kmemsize barrier = 31457280 B = 30 MB =约1024 MB的vmguarpages屏障的3%

这似乎与(根据free )我们似乎没有使用超过我们总记忆的一半“保证”的想法一致。 所以,我们只是打电话给1and1,并说:“哇,这个服务不符合VPS的最低要求,因此我们实际上不可能使用你保证我们的内存数量” 。 而且,如果他们不听取理由并解决问题,请转到其他提供商处。 然而,无论是为了向提供者提供我的观点,还是为了向客户组织的上级举证(如果有必要),我都希望能够引用更权威的消息来源:“至less应该是10%的保证记忆“的想法。

查看Parallels知识库中的kmemsize条目。