РУС | ENG
 
 
Продукты и услуги
 
Производительность системы  
Производительность системы
 

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

Несмотря на кажущуюся простоту вопроса (казалось бы что может быть проще чем назвать конкретную модель сервера), действительно корректный ответ на него может потребовать уточнения потребностей и задач Заказчика и анализ их соответствия определенным эталонным тестам производительности (об этом см. ниже).

Начнем с того, что корректно ответить на вопрос "сколько пользователей выдержит сервер" или "какой сервер нужен для обучения 10000 человек" невозможно. Существенно прощего готовить ответы на вопросы сформулированные в терминах конкретных задач, которые компания планирует решать с помощью системы, например:
1) провести тестирование 1000 человек по тесту содержащему не менее 50 контрольных вопросов в течение 1 рабочего дня
2) провести мероприятие реального времени в котором участвует 100 человек в режиме чата и односторонней телеконференции
3) провести дистанционное обучение 5000 сотрудников по электронному курсу
4) обеспечить ознакомление не менее 2000 работников с документами на учебном Портале в течение 2 часов

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

При этом разумеется никто заранее не может предсказать какое количество щелчков мыши потребуется пользователю учебного Портала для ознакомления с тем или иным материалом или курсом (кто-то пройдет курс не возвращая назад, а кто-то перечитает все материалы дважды и еще просмотрит все формуы). Но когда мы говорим об оценке производительности системы для обучения сотен или тысяч пользователей мы можем говорить о неких типовых, усредненных действия пользователя. Эти предположения и ложаться в основу проектирования испытаний производительности систем.

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

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

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

Код испытания

TSD5000
Имитируемая задачапроведение профессионального тестирования 5000 пользователей в течение 1 рабочего дня (8 часов)
Предположенияколичество вопросов теста - 50, передача данных на сервер после каждого вопроса. Тестирование проводится равномерно, но в течение одного из часов в течение дня нагрузка может двукратно превышать среднюю (например, в конце или начале дня). Т.е. максимум одного часа: 5000/8*2 = 1250 (тестируемых в час)
Общее количество запросов
  1. каждый тестируемый входит на главную страницу Портала, загружаются также 4 картинки (5 запросов)
  2. переход в раздел назначенные тесты (1 запрос)
  3. загружает материалы теста (1 запрос)
  4. отвечает на 50 вопросов (50 запросов)
  5. просматривает отчет о результатах тестирования (1 запрос)

всего запросов на сервер в ходе теста: 290000
всего запросов за период максимальной загрузки (1 час): 72500
Требование по минимальному количеству запросов, обрабатываемых сервером секунду (RPS)72500/3600 = 20
Резутаты тестирования


Код испытанияTSH3000
Имитируемая задачапроведение тестирования 3000 пользователей в течение 1 часа
Предположенияколичество вопросов теста - 50, передача данных на сервер после каждого вопроса. Тестирование проводится равномерно, но в течение одного периода времени, продолжительностью в 10 минут в течение часа нагрузка может двукратно превышать среднюю. Т.е. максимум нагрузки в течение 10 минут составляет: 3000/6*2 = 1000 (тестируемых в течение 10 минут)
Общее количество запросов
  1. каждый тестируемый входит на главную страницу Портала, загружаются также 4 картинки (5 запросов)
  2. переход в раздел назначенные тесты (1 запрос)
  3. загружает материалы теста (1 запрос)
  4. отвечает на 50 вопросов (50 запросов)
  5. просматривает отчет о результатах тестирования (1 запрос)

всего запросов на сервер в ходе теста: 174000
всего запросов за период максимальной загрузки (1 минут): 58000
Требование по минимальному количеству запросов, обрабатываемых сервером секунду (RPS)58000/600 = 96.6
Резутаты тестирования