Эволюция сервисов Spinningline
Spinningline.ru – один из крупнейших рыболовных порталов страны. Объемы функций сайта и пользовательской аудитории постоянно растут. А значит, мы должны отвечать запросам нового времени.
Предлагаем вниманию читателей подробный отчет о том, как совершенствуется сайт в последние годы.
Площадка, на которой находились все серверы Spinningline.ru, географически располагалась в Германии. Данная площадка выбрана еще в 2010 году в силу высокой надежности и отсутствия значимых альтернатив на территории РФ.
За несколько лет работы нагрузка на интернет-канал выросла в несколько раз, и периодически вставала проблема феноменально низкой скорости доступа - не более 300 Кб/с. Естественно, это серьезно отражалось на скорости отображения страниц.
Начиная с осени 2013 года, старая технологическая платформа начала сильно страдать от большого количества факторов, суммарно оказывавших сильное влияние на общую производительность ресурса:
- большая информационная наполненность базы данных: запросы, которые раньше выполнялись по 5 мс, а теперь занимали по 15-20 мс;
- резкий рост числа посетителей;
- большое количество нововведений на портале в 2013 году также увеличили общую нагрузку на ресурс.
Рост числа посетителей Spinningline.ru (2008-2013 гг)
Итак, к концу 2013 года мы пришли к значительному замедлению работы ресурса как с внутренней, так и с внешней стороны. Пришла пора приступать к решительным действиям по повышению производительности, поскольку еще большие “тормоза” могли полностью парализовать работу сайта: его перестали бы индексировать поисковые роботы. И раздражение пользователей от медленной работы тоже достигло предела.
Поскольку никакие полумеры нас не устраивают, мы решили разобраться со всеми факторами в течение 2014 года. Что и было сделано.
В первую очередь было принято решение переехать на надежный хостинг в РФ со значительным ростом производительности оборудования. Выбрана одна из крупнейших площадок в РФ - Selectel. Уже в марте 2014 на ней был поднят кэширующий Proxy сервер. С этого момента проблемы с узким каналом в Германию стали отходить на второй план.
Параллельно начали проводиться работы по оптимизации технологической платформы.
Новая платформа предложила решение многих проблем, казавшихся до этого глобальными. В основном все проблемы быстродействия портала возникали из-за активного роста объема обрабатываемой информации. В итоге были внедрены и многократные обмены информацией между сайтом и учетной платформой, что, к примеру, позволило повысить актуальность остатков до пятиминутного периода. Много времени ушло на тонкую настройку различных кэширующих систем, в основном, из-за общей старости платформы, которая на данный момент переписана примерно на 90%. Объем остальных надстроек уже давно превысил объем исходного кода сайта на заре создания.
Одновременно с этим мы произвели распределение ресурсов по разным серверам, что также снижало нагрузки и повышало общую отказоустойчивость.
Все это мы успели сделать до середины лета 2014 года, после чего перешли к следующему этапу - переезду на новые серверы. Как раз в этот момент вышел глобальный пакет обновления PHP и был проведен анализ производительности MySQL, который привел нас к выводу о необходимости изменения типа таблиц на InnoDB.
К концу осени сайт Spinningline.ru был настолько оптимизирован и ускорен, что с честью выдержал Black friday с 500 пользователями онлайн против обычных 200.
Теперь наши силы были брошены на подготовку к успешному переезду серверов и глобальному рефакторингу программного кода под новые версии приложений. Портал переехал в конце декабря, а магазин - в середине февраля. Сказалась старость платформы, которую необходимо было полностью адаптировать к новым версиям серверных приложений.
График ежедневных посещений портала Spinningline.ru
Промежуточные итоги Итак, в данный момент:
- наши ресурсы располагаются на 5 серверах, находящихся в Москве и в Санкт-Петербурге;
- на всех серверах установлены новейшие версии PHP и MySQL;
- произведен максимальный рефакторинг программного кода;
- остальная техническая информация обновляется ежечасно;
- ширины канала достаточно для одновременного присутствия любого количества пользователей онлайн;
- канал оптимизирован для пользователей Российской Федерации.
Но и это еще не все!
- Запущена новая учетная система поступления товара . Теперь вы всегда знаете о грядущих поставках;
- с нуля создан сайт Джиг-Пари ;
- создано ПО для торговых терминалов Spinningline, которые успешно прошли обкатку в нижегородских магазинах;
- произведены долгожданные юзабилити-изменения портала, на очереди большой апдейт магазина.
Регионы пользователей Spinningline.ru
Ну а какие планы на 2015 год? Безусловно, пора сделать общий редизайн всех наших ресурсов. Сделать их более удобными и понятными. Также будут созданы мобильные версии как магазина, так и портала.
Всех планов раскрывать не будем. Отметим, что все улучшения призваны сделать наши ресурсы самыми удобными и интересными.
До новых встреч!