All posts in category: Оптимизация Серверов

Обновление OrbitSoft Ad Server

Из-за высоких расходов на эксплуатацию системы мы решили переписать продукт.

Монолитная архитектура сервера показа рекламы не позволяла гибко масштабировать систему. Продукт было сложно обновлять из-за большого количества копий у разных клиентов.

Мы разделили сервер показов на несколько отдельных сервисов и переписали их с нуля на языке Go. В результате значительно повысилась производительность и сократились эксплуатационные расходы. Новая сервисно-ориентированная архитектура позволяет гибко масштабировать нашу систему.

Сервисы разрабатывались так, чтобы обслуживать запросы сразу от нескольких клиентов. Это позволяет нам упростить выпуск обновлений и делать чаще релиз новых версий платформы.

После сравнительного тестирования мы заменили часть используемых NoSQL-хранилищ на Aerospike. Это сделало систему еще производительнее и сократило количество серверов для хранения данных.

Чтобы сократить время на доставку данных конечным пользователям и позволить им оперативнее реагировать на изменения ситуации, мы планируем усовершенствовать подсистемы сбора, обработки и хранения статистики. Пользователи смогут получать произвольные отчеты в любых срезах и плоскостях.

После всех усовершенствований сократится время обработки запроса и увеличится производительность. Обновления системы будут выходить чаще.

Комментарии (0)

Оптимизация Сервера

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

Производительность сервера во многом зависит от его конфигурации, настройки сервера, и конечно от ПО, установленного на данном сервере. Случаются такие ситуации, когда сервер не справляется с нагрузкой, генерируемой установленным на него web приложением (например, если речь идет о рекламных площадках, сервер может не справлять с количеством показов рекламных объявлений), что в результате приводит к неработоспособности как самого приложения, так и сервера.

server optimization

Итак, ниже приведем несколько решений, которые помогут вам оптимизировать ваши сервера:

1. Масштабируемость серверов, является одним из наиболее очевидных решений, когда общая нагрузка на сервер превышает его производительность. Одно из достоинств масштабируемости серверов является то, что при необходимости (если нагрузка на сервер опять возросла) всегда можно добавить еще один веб сервер. Однако не все web приложения поддерживают масштабирование без необходимости их модификации.

2. Использовать веб сервера, предназначенные для обработки большого количества запросов и потребляющие меньшие серверные ресурсы. У нас есть опыт работы с различными серверами и как один из вариантов, мы советуем использовать web сервер nginx вместо apache, т.к. nginx потребляет значительно меньше ресурсов и работает намного быстрее apache. Если же web приложению необходим apache (например, при использовании URL Rewriting Engine) и нет возможности модифицировать его, то в этом случае можно использовать связку nginx + apache.

3. Использовать кеширование данных на сервере, для получения которых используется много серверных ресурсов. Кеширование позволит сэкономить вычислительные ресурсы сервера, что благотворно скажется на его производительности. В качестве системы кеширования лучше всего использовать memcached, так как эта система хранит все данные в оперативной памяти сервера, что обеспечивает высокую скорость записи и чтения данных.

4. Позаботиться о клиентской оптимизации. Уменьшив количество запросов к web серверу (объеденив множество JavaScript и CSS файлов в один) и использовав сжатие HTML страниц (используя штатные средства web сервера), можно увеличить производительность сервера.

5. Настроить используемую базу данных. В данном случае нужен индивидуальных подход, так как настраивать, или изменять структуру баз данных необходимо непосредственно в соответствии с особенностями вашего проекта (ПО). Также рекомендуется выделить отдельный сервер для баз данных, чтобы увеличить быстродействие вашей системы.

6. Отключить ненужные процессы. Не загружайте ваши сервера ненужными процессами, если не хотите обрекать себя на лишнюю головную боль. Например если на сервере не планируется email рассылка, можно смело отключить POP, IMAP и SMTP сервисы.

Надеемся, что данная информация будет полезна для вас и для ваших серверов!

Оставайтесь вместе с OrbitScripts!

Комментарии (0)