Укороченная версия:
Существуют ли какие-либо официальные инструкции по установке барьера и ограничения kmemsize для контейнера в ПК Р-Виртуализация / OpenVZ, предназначенного для использования в качестве веб-сервера? Мы нашли сообщения в блоги и форумы которые говорят, что размер kmemsize должен составлять не менее 10% от vmguarpages (после преобразования в те же единицы измерения). К сожалению, мы не нашли ни одной авторитетной ссылки (или даже причины) для этого 10% -ного утверждения. Есть идеи, откуда взялась эта 10% идея?
Длинная версия:
У моего клиента есть веб-сайт на VPS, размещенном на 1 и 1, под управлением CentOS 5.9 64bit. Сайт обширен, но особенно следует отметить онлайн-опрос, который обычно проводится группами людей одновременно из одного и того же места (изобразите классную комнату). Иногда (но не всегда), когда группа начинает процесс опроса примерно в одно и то же время, мы видим огромный скачок «удерживаемого» значения kmemsize на нашем VPS. Сначала это заставляло нас превышать предел kmemsize, увеличивать наш kmemsize failcnt и отправлять ошибки в браузеры наших пользователей. Регулируя MaxClients Apache, я могу удержать нас от превышения лимита kmemsize. Однако, если мы достигаем пика чуть ниже предела, HTTP-запросы помещаются в очередь, и сайт замедляется до ледяного сканирования, страницы буквально загружаются за минуты, что, возможно, не лучше, чем сбой. Совершенно очевидно, что нам нужен более высокий барьер / лимит kmemsize.
Это предыстория. Мой настоящий вопрос заключается в том, является ли наш текущий предел разумным. Предполагается, что у нас будет 1 ГБ ОЗУ «гарантированно» (барьер vmguarpages установлен на 262144) с возможными всплесками до 4G. Но я заметил, что даже когда мы приближаемся к пределу kmemsize или приближаемся к нему, free
по-прежнему сообщает, что мы используем менее 600 000 КБ памяти. /proc/user_beancounters
сообщает о нашем барьере kmemsize на уровне 31457280 и ограничении на уровне 34603008. Как указано в краткой версии выше, мы обнаружили сайты, утверждающие, что kmemsize должен быть установлен как минимум на 10% от «гарантированной» памяти, установленной vmguarpages. Делая математику, я показываю, что мы в
Барьер kmemsize = 31457280 B = 30 МБ = около 3% от барьера vmguarpages 1024 МБ
Это похоже на идею, что (согласно free
) мы, кажется, никогда не используем больше половины нашей общей «гарантии» памяти. Итак, мы хотим просто позвонить 1and1 и сказать: «Вау, эта услуга, которую вы предлагаете, не соответствует минимальным рекомендациям для VPS, и поэтому для нас практически невозможно использовать объем памяти, который вы нам гарантируете». . И, если они не хотят прислушиваться к мнению и исправлять его, переходите к другому провайдеру. Тем не менее, как для того, чтобы доказать свою точку зрения поставщику, так и для оправдания перехода (при необходимости) к руководству в организации моего клиента, я хотел бы иметь возможность сослаться на более авторитетный источник для этого «kmemsize должен быть по крайней мере 10% гарантированной памяти »идея.
Посмотрите на запись kmemsize на База знаний Parallels.