Тест производительности

Условия теста и используемое оборудование

Два компьютера, подключенные к локальной сети организации (100 Мбит). Компьютеры введены в домен. В сети еще около 1000 ПК. Конфигурация используемых компьютеров: Celeron E3300x2.5 ГГц + 3 ГБ ОЗУ + ОС Windows 7x32. В качестве БД использовалась Oracle 10g (10.2.0.4.0) на выделенном сервере (конфигурация сервера неизвестна). В БД загружено 1 млн документов.

Методика тестирования

На одном компьютере запускался сервер приложения (Apache Tomcat), на втором - программа нагрузочного тестирования (Apache JMeter). Тестировалась процедура входа (SSO) пользователя в систему, так как она является одной из самых "тяжелых" (SSO-авторизация + начальная инициализация классов + получение начальных данных из БД). JMeter каждую секунду создавал новую сессию. Каждая созданная сессия с периодичностью в одну секунду производила попытку "входа" в систему (отправлялся HTTP-запрос и принимался HTTP-ответ).

Полученные результаты

Максимальное количество сессий для данной конфигурации компьютера, на котором запущен сервер приложения - чуть больше 200. При этом средняя задержка ответа сервера составляла 0,3 - 0,5 сек. Максимальная 1,5 сек. Если увеличить количество сессий больше 200 - то загрузка процессора сервера приложения доходит до 100% и задержка ответа резко возрастает. Если использовать протокол HTTPS - то средняя задержка увеличивается примерно в 1,5 раза. 200 сессий "отъедают" памяти на сервере около 100 МБ.

Выводы

В данной конфигурации сервера и сети, комфортно работать с системой могут одновременно 200 пользователей, если они каждую секунду в течении рабочего дня производят в системе какое-либо действие, связанное с получением информации. На практике же не представляется, что работа ведется столь интенсивно. Если предположим, что пользователь производит действие не раз в секунду, а раз в 5-10 секунд - то количество пользователей, которые могут комфортно и одновременно работать с системой, увеличивается до 1000 - 2000 человек. Если же пользователь в таком темпе работает с системой не целый день, а, скажем, 1 - 2 часа в день - то среднее количество одновременно работающих пользователей увеличивается до 4000 - 16000 человек (если принять, что нагрузка распределена равномерно в течение дня).