Реклама на сайте Advertise with us
Тема: Измерение производительности работы скрипта Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 19/03/04 в 21:13     

Дано: скрипт
Задача: отследить производительность работы
Платформа: Win.
Писатели тумбокрутов,сиджей, топов откликнетесь, чем проверяли?

K началу

 
Информация о пользователе Stek


Зарегистрирован: 24.10.02
Сообщения: 1613
Ссылка на сообщениеДобавлено: 19/03/04 в 21:50     

Есть Webserver Stress Tool , хотя мне ab нравится, запущеный с соседнего компа.

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 19/03/04 в 23:46     

ab из апача рулит!

K началу

 
Информация о пользователе ah2ng


Зарегистрирован: 21.12.03
Сообщения: 91
Ссылка на сообщениеДобавлено: 20/03/04 в 03:31     

Да ... ab (Apache Benchmark) вещь хорошая... Для win есть только от второго апача ...
можешь скачать у меня
http://www.ah2ng.com/ab.exe

ab.exe -c CN -n NN http://localhost/script.php
где CN - кол-во одновременных запросов
NN - всего запросов

а для измерения выполения отдельных частей скрипта удобно юзать
http://pear.php.net/package/Benchmark

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 20/03/04 в 10:30     

Всем большое спасибо.
Я так понял Аb рулит, вчера искал её, плохо наверное искал
2 ah2ng: не пускают меня, потому что русский наверное
нашёл уже

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 20/03/04 в 12:48     

Я протестировал несколько скриптов
ab.exe -c 10 -n 10000 http://po.ru/index.php
-c 10 ( -c concurrency Number of multiple requests to make)
1. как я понял это кол-во одновременных запросов? они делаются при каждом request указанном после -n?
если поставить -c 100 то ab.exe вылетает с ошибкой
2. объём выдаваемой информации разных скриптов должен быть одинаков? (если выдача одного скрипта больше чем у другого то занимается дополнительное время?)
3. Failed requests: из-за чего они могут появиться?
Failed requests: 9977
(Connect: 0, Length: 9977, Exceptions: 0)
4. Write errors: ошибки дисковых операций?

Протестил три скрипта

Requests per second: 43.60 [#/sec] (mean)
Time per request: 229.375 [ms] (mean)
Time per request: 22.938 [ms] (mean, across all concurrent requests)
100% 2453 (longest request)

Requests per second: 20.18 [#/sec] (mean)
Time per request: 495.563 [ms] (mean)
Time per request: 49.556 [ms] (mean, across all concurrent requests)
100% 15906 (longest request)

Requests per second: 12.26 [#/sec] (mean)
Time per request: 815.453 [ms] (mean)
Time per request: 81.545 [ms] (mean, across all concur
100% 1156 (longest request)

Видно что третий скрипт обрабатывает меньше запросов в секунду, на один запрос тратит больше времени, но в последней табице longest request у него меньше чем у двух первых скриптов, я подумал так что первые два скрипта выполнят запрос за допустим 200 ms но иногда могут и дольше, а третий скрипт выполняет каждый запрос за 800 мс и максимум у него 1156
значит на этот параметр можно внимания не обращать? а смотреть только на реквесты за секунду?

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 20/03/04 в 14:16     

Jam писал:
Я протестировал несколько скриптов
ab.exe -c 10 -n 10000 http://po.ru/index.php
-c 10 ( -c concurrency Number of multiple requests to make)
1. как я понял это кол-во одновременных запросов? они делаются при каждом request указанном после -n?


Это чисто одновременно активных клиентов. -c 10 -n 10000 значит что 10 клиентов параллельно попросят сервер 10000 раз отдать им документ. Всего будет 100.000 хитов.

Цитата:
если поставить -c 100 то ab.exe вылетает с ошибкой


Что-то не так в виндовой версии.

Цитата:
2. объём выдаваемой информации разных скриптов должен быть одинаков? (если выдача одного скрипта больше чем у другого то занимается дополнительное время?)


Документ либо отдается успешно, либо он failed по разным причинам. Если успешно - то объем в байтах одинаковый, кроме разницы времени в хидерах.

Не понял про дополнительное время, объясни другими словами плиз.

Цитата:
3. Failed requests: из-за чего они могут появиться?


Сервер не смог подхватить и обслужить запрос - из-за перегрузки. В случае апача - все дочерние процессы были заняты, и очередь listen переполнена, тогда начинаются потери. Так делают DDoS атаки (основная идея).

Могут быть другие причины - сеть, твоя машина (TCP стек), и т.д.

Цитата:
Failed requests: 9977
(Connect: 0, Length: 9977, Exceptions: 0)


Много....

Цитата:
4. Write errors: ошибки дисковых операций?


Не знаю. Не сталкивался.

Цитата:
Протестил три скрипта

Requests per second: 43.60 [#/sec] (mean)
Time per request: 229.375 [ms] (mean)
Time per request: 22.938 [ms] (mean, across all concurrent requests)
100% 2453 (longest request)

Requests per second: 20.18 [#/sec] (mean)
Time per request: 495.563 [ms] (mean)
Time per request: 49.556 [ms] (mean, across all concurrent requests)
100% 15906 (longest request)

Requests per second: 12.26 [#/sec] (mean)
Time per request: 815.453 [ms] (mean)
Time per request: 81.545 [ms] (mean, across all concur
100% 1156 (longest request)

Видно что третий скрипт обрабатывает меньше запросов в секунду, на один запрос тратит больше времени, но в последней табице longest request у него меньше чем у двух первых скриптов, я подумал так что первые два скрипта выполнят запрос за допустим 200 ms но иногда могут и дольше, а третий скрипт выполняет каждый запрос за 800 мс и максимум у него 1156
значит на этот параметр можно внимания не обращать? а смотреть только на реквесты за секунду?


Longest request - не принимай во внимание. Это время обработки самого далеко-затерявшегося в очереди запроса, практического значения не имеет.

Ориентируйся на requests per second, и чтобы все были success.

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 20/03/04 в 14:17     

дабл пост

Последний раз редактировалось: Quantum[Tau] (20/03/04 в 14:25), всего редактировалось 2 раз(а)

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 20/03/04 в 14:19     

дабл пост

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 20/03/04 в 14:58     

Quantum[Tau] писал:

Что-то не так в виндовой версии.

пробовал на 2000 и 2003 теже яйца, видно ab.exe другой нужно скачать

Цитата:
Не понял про дополнительное время, объясни другими словами плиз.

я имел в виду:
1.php в браузер выдаёт 200 байт
2.php выдаёт 10 килов
то есть время теста по идее должно увеличитья...(вот и спрашиваю есть ли разница?)


Цитата:

Могут быть другие причины - сеть, твоя машина (TCP стек), и т.д.
Цитата:
Failed requests: 9977
(Connect: 0, Length: 9977, Exceptions: 0)


Много....

много то много, но было 100.000 обращений и выполнились они не за сутки а в течении 5 минут(или около того) так что я думаю это не так страшно, всё таки если столько же обращений в стуки будет то это около 1,15 в секунду, но в утилите я не увидел возможности задать кол-во обращений в секунду

Цитата:

Ориентируйся на requests per second, и чтобы все были success.

ок

K началу

 
Информация о пользователе ah2ng


Зарегистрирован: 21.12.03
Сообщения: 91
Ссылка на сообщениеДобавлено: 20/03/04 в 15:10     

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

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 20/03/04 в 20:13     

Jam писал:
я имел в виду:
1.php в браузер выдаёт 200 байт
2.php выдаёт 10 килов
то есть время теста по идее должно увеличитья...(вот и спрашиваю есть ли разница?)


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

Jam писал:
Цитата:
Могут быть другие причины - сеть, твоя машина (TCP стек), и т.д.
Цитата:
Failed requests: 9977
(Connect: 0, Length: 9977, Exceptions: 0)


Много....

много то много, но было 100.000 обращений и выполнились они не за сутки а в течении 5 минут(или около того) так что я думаю это не так страшно, всё таки если столько же обращений в стуки будет то это около 1,15 в секунду, но в утилите я не увидел возможности задать кол-во обращений в секунду


10% failed запросов - это МНОГО! Протестируй на юниксе, если там тоже самое - ищи проблему.

Единицы необработанных запросов - это приемлемо. Больше - нет, это значит что у тебя где-то что-то затыкается.

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 20/03/04 в 22:43     

спасибо, есть информация к размышлению....поразмышляю подойду icon_smile.gif

K началу

 
Информация о пользователе Xrenoder


Зарегистрирован: 14.09.00
Сообщения: 634
Ссылка на сообщениеДобавлено: 20/03/04 в 22:54     

Jam писал:
спасибо, есть информация к размышлению....поразмышляю подойду icon_smile.gif


Запуск ab на виндах не дает тебе вообще никакой информации.
Только на сервере тестировать и только под юниксами.
Иначе беспользы. Винды не расчитаны идеологически на серьезную сетевую нагрузку.

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 21/03/04 в 01:32     

1. Зайди на http://www.vmware.com/ , зарегистрируйся и скачай 30-дневный триал vmware for windows.

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

3. Инсталлируй vmware и под ним линукс. Возможно придется немного помучаться, но результат того стоит. Когда сделаешь, скопируй каталог виртуальной машины, перепиши пару строк в конфигурационном файле, получишь две виртуальные машины.

4. Запусти обе. В первой настрой или собери заново апач, во второй будешь запускать ab.

В результате ты получишь:
- полезные навыки администрирования линукса
- отличную платформу для тестирования
- почувствуешь как оно в реале работает
- приобретешь ценный опыт

Не бойся требований к железу - у меня Mandrake9 живет в вирт.машине с 32 MB памяти, на диске занимает 300-400 MB.

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 21/03/04 в 04:42     

есть у меня вмваря
сразу с командной строки начинать страшно icon_smile.gif
я пару раз пробовал ставить виртуальную машину, так как в строке ну совсем немного знаю, решил запустить иксы, но для них в вмваре нужно было поставить какой-то рпм, на этом мои попытки запустить иксы заканчивались icon_smile.gif
2 Quantum[Tau]: по 4. пункту, два линуха и винда на одной машине нормально себя чувствовать будут(в плане сетевых взаимодействий)? опять же данные тестирования будут приближены к боевым?

K началу

 
Информация о пользователе Quantum[Tau]


Зарегистрирован: 15.03.04
Сообщения: 618
Ссылка на сообщениеДобавлено: 21/03/04 в 06:12     

Jam писал:
есть у меня вмваря
сразу с командной строки начинать страшно icon_smile.gif
я пару раз пробовал ставить виртуальную машину, так как в строке ну совсем немного знаю, решил запустить иксы, но для них в вмваре нужно было поставить какой-то рпм, на этом мои попытки запустить иксы заканчивались icon_smile.gif
2 Quantum[Tau]: по 4. пункту, два линуха и винда на одной машине нормально себя чувствовать будут(в плане сетевых взаимодействий)? опять же данные тестирования будут приближены к боевым?


Командная строка - попробуй, это на самом деле просто. Такие навыки всегда пригодятся.

По поводу Х-ов - х.з., у меня никогда проблем с ними не было, все гладко ставилось. Попробуй Mandrake или ASPLinux (recommended!). Но для данных целей Х-ы не нужны, они ресурсы любят. icon_smile.gif

vmware отлично дружит с сетью, и host-only, и NAT. У меня все бегает под win2000, совершенно очаровательно. Для разработки, тестирования и отладки - лучше не придумаешь. Однажды даже виртуальный кластер из 7 нодов собрал. icon_smile.gif

K началу

 
Информация о пользователе Lazy Nigga


Зарегистрирован: 29.02.04
Сообщения: 32
Ссылка на сообщениеДобавлено: 21/03/04 в 11:42     

Jam

Про vmware тебе все правильно советуют. А мой тебе добрый совет - учи английский. Так уж сложилось, что сейчас информации выше крыши, но в основном она на английском - следовательно тебе недоступна и ты вынужден переплачивать деньгами, своим временем и прочим, чтобы ее получить.
Читай всегда README и INSTALL файлы к прогам, которые пытаешься ставить, сэкономит тебе кучу времени и нервов в последствии. В вмваре, например, точно в readme или доке описывалось как иксы поднять.

K началу

 
Информация о пользователе Jam


Зарегистрирован: 01.10.03
Сообщения: 436
Ссылка на сообщениеДобавлено: 26/03/04 в 10:28     

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

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »