Я использую клиент JMeter для проверки пропускной способности определенной рабочей нагрузки (PHP + MySQL, 1 страница) на определенном сервере. В основном я делаю «тест емкости» с увеличением количества потоков с течением времени.
Я установил плагин JMeter "Statistical Aggregate Report", и это был результат (игнорируйте строку "Время ответа"):
В то же время я использовал прослушиватель «Simple Data Writer» для записи файла журнала («JMeter.csv»). Затем я попытался «вручную» посчитать пропускную способность за каждую секунду теста.
Каждая строка "JMeter.csv" имеет следующий формат:
timestamp elaspedtime responsecode success bytes
1385731020607 42 200 true 325
... ... ... ... ...
Отметка времени относится ко времени, когда запрос сделан клиентом, а не когда запрос обслуживается сервером. Поэтому я просто сделал: общее время = метка времени + прошедшее время.
На следующем шаге я преобразовал общее время в формат даты, например: 13:17:01.
У меня более 14 000 образцов, и с помощью Excel я смог сделать это быстро.
Затем я подсчитал, сколько выборок было за каждую секунду. Пример:
totaltime samples (requestsServed/second)
13:17:01 204
13:17:02 297
... ...
Когда я попытался отобразить результаты, я получил следующий рисунок:
Как вы можете заметить, он сильно отличается от первого рисунка.
Учитывая, что первый график правильный, в чем ошибка моей формулы/процедуры для расчета пропускной способности?