Почти 2 года назад я писал обзор о новых тогда «облачных» виртуалках Selectel-а (отличие от всех остальных было и остается в том, что расход памяти, дисковые операции, трафик — все это считается и оплачивается отдельно и весьма подробно).
Cейчас хочу подвести черту под результатами почти 2-х лет использования, поделиться небольшим хаком по экономии 600 рублей в год, и рассказать как я на нем пережил Über-эффект (репост на десятке популярных буржуйских сайтов).
Оптимизация
Под виртуальную машину у Селектела память может выделяеться on-demand. Cамым оптимальным будет положение, когда виртуальная машина чуть-чуть торчит в свопе. В настройках memory-on-demand я указал «держать свободную память в диапазоне 24-32Мб». Такое значение впрочем подойдет только если у вас среднее потребление памяти относительно постоянно (apache2-mpm-prefork, нигде процессы массово под нагрузкой не запускаются).
Чтобы неиспользуемые данные и кеш выкидывать из памяти — в crontab пишем (это для Ubuntu Server):
9 3 * * * echo 3 > /proc/sys/vm/drop_caches
В данном случае данные из памяти выкидываются раз в день. Это дает экономию по памяти на 50 рублей в месяц. Если выкидывать раз в час — выигрыш уменьшается за счет увеличения нагрузки на диски. Update: Выяснили, что это работает только при использовании свопа, когда стандартный алгоритм Селектела поддерживает объем свободной памяти больший чем запрошено на размер используемого свопа.
На графике это выглядит так (апрель):
Cупер-хабраэффект
Средний суточный трафик — 5-6 Гб. Но 22 ноября, когда я попал по массовый репост по буржуйским сайтам ссылок на свою статью про вскрытие микросхем — за один день прилетело 242 Гб трафика (500 Гб в течении недели), и это не вызвало каких-либо проблем.
Сразу бросается в глаза нетипично большой расход дисковых операций. А причина проста — я человек ленивый, и раздачу статики напрямую nginx без апача не настроил. nginx-у не хватало памяти сразу кешировать в памяти ответы апача по несколько гигантских фотографий до 20Мб каждая (они составляли большую часть трафика), и он писал временные файлы на диск.
Общие расходы за 2 года
Видим, что статьи расходов помимо трафика и памяти — не слишком существенны для обычного сайта.
Нужно помнить, что сейчас эта цифра была бы выше на 72*23=1656 рублей за счет аренды IP-адреса.
В саппорт мне обращаться пришлось лишь раз — когда системное время на виртуальной машине отличалось от правильного на 0.5 секунды: самому на виртуальной машине ntpd ставить нельзя (=бесполезно). Исправили.
Резюме
Облако Selectel-а справится с любым разумным пиком трафика за ваши деньги (в моем случае — 205 рублей в день). Внезапное отключение «за превышение трафика» тут принципиально невозможно.
Крайне важно раздавать большие статические файлы напрямую nginx — иначе появляется лишняя нагрузка на диск для сохранения ответов апача если нет достаточного количества свободной памяти.
Не всегда хостинг в России означает более низкие пинги — на данный момент Билайн трафик на Selectel роутит через Европу (пинг 64мс из Москвы до Питера).