Эволюция сервисов 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 год?

Безусловно, пора сделать общий редизайн всех наших ресурсов. Сделать их более удобными и понятными. Также будут созданы мобильные версии как магазина, так и портала.
Всех планов раскрывать не будем. Отметим, что все улучшения призваны сделать наши ресурсы самыми удобными и интересными.

До новых встреч!