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
|
|
спасибо, есть информация к размышлению....поразмышляю подойду
|
K началу
|
|
|
Xrenoder
Зарегистрирован: 14.09.00
Сообщения: 634
|
Добавлено: 20/03/04 в 22:54
|
|
Jam писал: | спасибо, есть информация к размышлению....поразмышляю подойду |
Запуск 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
|
|
есть у меня вмваря сразу с командной строки начинать страшно я пару раз пробовал ставить виртуальную машину, так как в строке ну совсем немного знаю, решил запустить иксы, но для них в вмваре нужно было поставить какой-то рпм, на этом мои попытки запустить иксы заканчивались 2 Quantum[Tau]: по 4. пункту, два линуха и винда на одной машине нормально себя чувствовать будут(в плане сетевых взаимодействий)? опять же данные тестирования будут приближены к боевым?
|
K началу
|
|
|
Quantum[Tau]
Зарегистрирован: 15.03.04
Сообщения: 618
|
Добавлено: 21/03/04 в 06:12
|
|
Jam писал: | есть у меня вмваря сразу с командной строки начинать страшно я пару раз пробовал ставить виртуальную машину, так как в строке ну совсем немного знаю, решил запустить иксы, но для них в вмваре нужно было поставить какой-то рпм, на этом мои попытки запустить иксы заканчивались 2 Quantum[Tau]: по 4. пункту, два линуха и винда на одной машине нормально себя чувствовать будут(в плане сетевых взаимодействий)? опять же данные тестирования будут приближены к боевым? |
Командная строка - попробуй, это на самом деле просто. Такие навыки всегда пригодятся.
По поводу Х-ов - х.з., у меня никогда проблем с ними не было, все гладко ставилось. Попробуй Mandrake или ASPLinux (recommended!). Но для данных целей Х-ы не нужны, они ресурсы любят.
vmware отлично дружит с сетью, и host-only, и NAT. У меня все бегает под win2000, совершенно очаровательно. Для разработки, тестирования и отладки - лучше не придумаешь. Однажды даже виртуальный кластер из 7 нодов собрал.
|
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
|
|
читал я ридмихи есть там пункт про иксы вмваре туулс были скачаны и поставлены но потом сказалось незнание линуха в общем плане, а английский я знаю не совсем уж плохо, по крайней мере инсталл.тхт я понимаю
|
K началу
|
|
|