Популярность любого проекта это всегда хорошо и всегда вызов! То что тестировалось и работало при трафике 100 пользователей не факт что будет работать при 1000, хотя скорее всего факт что не будет работать :)
Итак суть истории: Воскресенье, вечер, один из ведущих радио пишет пост на пикабу -
Всем рок я угощаю в течении 20 минут он выходит в топ и 120 человек в секунду валятся на наш сервер. Пока он справляется. Но потом около 3% из них заходят в чат и тут всё заверте...
40 человек в чате ещё выдерживал сервер...с нагрузкой на 2 проца по 100% при 57 человек первый затык...ребутим mysql и поднимаемся...секунд на 30 в чат единовременно долбятся 150 человек...
Короче, початиться не получилось...Серёжа задумался и начал ковырять код и тут он вспомнил что месяца три в туду листе на первом месте сидит такая задача как кеширование списка сообщений...
Тоесть кеширования реально отуствовало совсем тобиж насмерть. Каждый пользователь заходил и долбился в mysql каждые 5 секунд с требованием последних сообщений плюс к этому каждые 20 секунд спрашивал кто онлайн...в общем ужас и страх...при малом количестве пользователей это летает и не тревожит но если....
Короче была проведена очень быстрая и стремительная работа по переписыванию кода чата. Первоочередное что появилось это очереди сообщений которые хранятся в json файлике на диске и обновляются лишь при условии что кто то в чатик написал - никаких более запросов в MYSQL при обновлении списка сообщений. То же самое со списком пользоватлей онлайн.
Пришлось конечно пожертвовать личными сообщениями...но это я скоро поправлю и выложу на GIT, так что жите - скоро всё будет.
Ну и где доказательства про 18 запусков у маска в 2018 году? Или ты предпочтешь и тут...