Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
00:41, 08 мая 2011

kolesa.kz — проблемы 2006-2010 гг.

Блог им. nod

проблемы сайта

Краткая история про программинг и серваки.
Сайт kolesa.kz самый популярный сайт по покупке/продаже авто в Казахстане.

Сайт с объявлениями открыт 1 мая 2006 года, до этого там были просто статьи. За пять лет развития сайта только последние полтора года оказались самыми сложными в плане высоких нагрузок. Но самое вкусное оставлю на следующие топики, а сейчас расскажу о первых проблемах до 2010 года:

2006 год — первой высокой нагрузкой была как не странно разработка сайта ;) (Устарело. Движок в 2010 году полностью переписан).
2006 год — переезд на выделенный сервер (Устарело. Сейчас kolesa и krisha на 12 совершенно небрендовых серверах. Обычные компьютеры, которые можно купить в любом магазине).
2007 год — столкнулись с проблемой нехватки воркеров в Apache. В определенные моменты мы получали 255 одновременных обращений к страницам/файлам, и все запросы сверх этого лимита возвращались с ошибкой. На тот момент PHP отлично работал только под mod_php в Apache, но это стоило безумного количества оперативной памяти. Страница сгенерирована, и тяжелый воркер десятки секунд ждет пока клиент получит страницу по диалапу, а тем временем память занята. Решение нашли методом тыка — поставили nginx перед apache. Тяжелый apache генерирует быстро страницу, отдает ее nginx'у и готов обслуживать новый запрос. Тем временем nginx держит в памяти готовую html страничку и спокойно отдаёт ее медленному клиенту. В результате количество воркеров в apache снизилось с 255 до 20, в nginx завели лимит 1000 соединений и получили сотни мегабайт свободной памяти и избавились от недоступности сайта. Вот готовая статья как это делается. (Cейчас apache мы вообще не используем).
2007 год — начинаем кешировать куски страниц в базе MySQL. (Теперь кешируем в Memcache).
2007-2008 гг — стало тесно базе MySQL и PHP на одном сервере. Была борьба за память и процессорное время. Рецепт один — выделить под базу отдельный сервер. (Пользуемся до сих пор).

Читать далее ...

0
524
1