
Все виды временной почты.Одна платформа.
250000 писем в день: вызовы и решения

Наш обновлённый два года назад Müllmail работает на самом деле отлично - за одним исключением: проблема с нагрузкой на систему.
С самого начала Müllmail.com работал на виртуальном сервере (VPS), и мы почти каждый год наращивали его ресурсы. Последняя конфигурация включала 16 ядер, 64 ГБ ОЗУ и несколько терабайт диска. Казалось бы, этого должно хватить. Увы - нет. Постоянная загрузка CPU на уровне 80-90 %, с пиками до 100 % стала обыденностью.
В чём причина? Виновато было взаимодействие между базой данных и почтовым сервером. Причём 90 % нагрузки шло именно от базы данных. В результате почтовик временами просто переставал справляться: письма доходили с задержкой в несколько минут или даже до получаса. Мягко говоря, неудовлетворительно. Нужно было срочно что-то менять.
Решение: больше мощности и грамотная база данных
Первым шагом стало обновление железа. Мы перешли на выделенный сервер с 32 ядрами, 128 ГБ ОЗУ и NVMe-дисками. Да, это дороже, чем VPS, но надёжность важнее. Результат? Загруженность процессора упала до 30 % - огромный прогресс.
Переход на новый сервер мы использовали как шанс пересмотреть и структуру базы. И обнаружили: не хватало одного критически важного индекса.
Что такое индекс?
Индекс в базе данных - это как оглавление в книге. Он позволяет быстро находить нужные данные без необходимости перечитывать всё подряд. Без индекса база вынуждена просматривать каждую строку таблицы при любом запросе - медленно и неэффективно.
С хорошо настроенными индексами происходит так называемый "index scan" - база мгновенно переходит к нужным строкам, экономя ресурсы и время. Особенно это важно при работе с миллионами записей.
Итог: быстрая база - довольный процессор
После добавления недостающего индекса нагрузка на процессор снизилась ещё сильнее - теперь в среднем всего около 10 %. Можно сказать, наш CPU ушёл в летний отпуск. Скрыть такую ошибку было бы проще, но это не в нашем стиле.
В итоге мы теперь полностью готовы к нагрузкам, и сбои из-за нехватки ресурсов остались в прошлом.
Спасибо, что используешь Müllmail.com - будь то для промокодов, регистрации в рассылках или тестирования своей почтовой системы. Кстати, мы добавили новые домены - наслаждайся!
Если возникнут вопросы или проблемы, пиши нам в любое время на kontakt@team.muellmail.com!