27.06.2017

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

Новый SMPP-сервер полностью переписан нашими программистами на языке C под текущие, возросшие за несколько лет требования сервиса, максимально оптимизирован по скорости и доработан необходимым функционалом. Скорость обработки запросов в новом SMPP-сервере составляет более 10 тысяч в секунду на одном физическом сервере.

Важные изменения:

— Внедрен механизм контроля скорости отправки сообщений в секунду для каждого клиента, генерация ошибки превышения скорости (throttling). При получении данной ошибки клиенту по SMPP-стандарту необходимо повторить отправку, снизив общую скорость на своей стороне. По умолчанию скорость задана 100 SMS/cек для каждого аккаунта. Для изменения максимально разрешенной скорости необходимо отправить запрос в службу поддержки сервиса.

— Улучшен механизм передачи статусов доставки (DLR). Очередь ожидания статусов при отключенном соединении с SMPP-сервером увеличена до 1 млн статусов для каждого аккаунта с ожиданием в течение суток. Появилась возможность задавать в настройках размер окна передачи статусов по аккаунтам (по умолчанию 5), что влияет на скорость отдачи статусов. Общая скорость обработки статусов также значительно увеличена.

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

— В конечные статусы доставки добавлена передача TLV полей с дополнительной информацией о сообщениях. В TLV с кодом 0x2000 передается строка со стоимостью сообщения в формате "n.nnnn". В TLV с кодом 0x2001 передается флаг в виде 2-х байтового числа с типом сообщения и признаком шаблонного сообщения (бит 0x100). Более подробная информация по TLV полям будет добавлена в раздел API в ближайшее время.

— Интервал бездействия уменьшен с 5 минут до 2. В течение этого времени клиенту необходимо отправить сообщение или выполнить пустую команду enquire_link, иначе соединение будет разорвано из-за неактивности. Если ранее в ваших настройках таймаут был более 2 минут, то сейчас необходимо изменить эту настройку, чтобы не происходили обрывы связи.

— Добавлены блокировки за частые ошибки авторизации или за неверный формат команд.

Данный SMPP-сервер разрабатывался в течение этого года и последние 2 месяца тестировался на обслуживании трафика некоторых клиентов, давших на это согласие. Тестирование показало полную готовность и стабильность работы нового сервера, дополнительно после переключения всех клиентов были устранены последние проблемы, связанные с особенностью отправки сообщений некоторыми клиентами.

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


все новости