Облако Selectel — о супер-хабраэффекте, небольшой оптимизации, и расходах за 2 года
Почти 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мс из Москвы до Питера).