63
2.4 Контрольный пример реализации проекта и его описание
Одно из ключевых функциональных требований — поддержка ре-
альной нагрузки, которая присутствует в боевой системе. Лучшей де-
монстрацией работы итоговой реализации будут предпусковое нагрузоч-
ное тестирование, как пример работы приложения при разных нагрузках,
включая ожидаемые и сверх нагрузки.
Требование по производительности заключалось в том, что итоговое
решение должно быть способно в реальном времени отравлять инфор-
мацию о всех поступающих электронных письмах на почтовые сервера.
По предварительным данным в пиках достигались значения в 1 миллион
электронных сообщений в час.
Существует два основных типа соединения — это прошедшие со-
единения, по которым электронное письмо в дальнейшем прошло через
инфраструктуру компании, и заблокированные, отфильтрованные чёрны-
ми списками партнёров. Как раньше было установленно, количество за-
блокированных входящих запросов в среднем составляет 60% от обще-
го количества входящих соединений. Соответственно проектная нагрузка
составляла 2.5 миллионов электронных сообщений в час и примерно 700
электронных сообщений в секунду.
Представленные цифры описывают сколько соединений устанавли-
вается на почтовых серверах, но не сколько с почтовых серверов будет
отправлено Log-сообщений. На каждое входящее не отфильтрованное со-
единение генерируется три Log-сообщения, а на каждое заблокированное
— два. Таким образом мы получаем, что в пиках нагрузка в виде Log-
сообщений от почтовых серверов будет составлять:
???? ???????????????????????????????????? ???????????????????????????????? = 3 × ???? ???????????????????????????????????????????????????????????????? + 2 × ????????????????????????????????????????????????????????????????????????????
(2.1)