Уважаемые гости и пользователи форума!
Чтобы видеть ссылки на форуме - надо зарегистрироваться и иметь 1 пост на форуме. Для этого есть КУРИЛКА и там тема Здрасти.

Нагрузочное тестирование сервера

Тестирование, сравнение тестов, обсуждение программ или утилит для тестирования Web серверов

Модераторы: rewuxiin, kulia

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.


Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

11 сен 2011, 21:57

usb писал(а):

Код: Выделить всё

Concurrency Level:      500
Time taken for tests:   0.750 seconds
Зачетно! *THUMBS UP* В последнее время склоняюсь в сторону процессоров i3, i5, i7
war писал(а):народ подскажите как правильно расшифровать эти данные?
В данном примере почитайте обобщенную статью Для просмотра ссылок Вы должны быть авторизованы на форуме..
А в целом мы измеряем за какое время сервер обработает 500 одновременный запросов к странице ваш_сайт/info.php
TYZz писал(а):Хотелось бы поучаствовать в тестовом ускорении сервера, скажите что требуется от меня?
В ближайшее время опишу план Ваших действий *OK*
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
Gu
Guest

Re: Нагрузочное тестирование сервера

13 сен 2011, 12:06

Intel(R) Pentium(R) 4 CPU 3.00GHz 2995.229 Mhz X 2 cpu
768mb SDRAM memory
40gb hdd
CentOS+ISPmanager

Код: Выделить всё

[root@eaten-spb 123.ru]# ab -k -n 500 -c 500 http://www.connect-**.ru/info.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.connect-***.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        Apache/2.2.3
Server Hostname:        www.connect-***.ru
Server Port:            80

Document Path:          /info.php
Document Length:        46436 bytes

Concurrency Level:      500
Time taken for tests:   3.160726 seconds
Complete requests:      500
Failed requests:        1
   (Connect: 0, Length: 1, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      23303495 bytes
HTML transferred:       23217995 bytes
Requests per second:    158.19 [#/sec] (mean)
Time per request:       3160.726 [ms] (mean)
Time per request:       6.321 [ms] (mean, across all concurrent requests)
Transfer rate:          7199.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   19  10.4     19      36
Processing:    16  990 797.7    759    3124
Waiting:       15  984 799.8    758    3120
Total:         16 1009 807.0    778    3160

Percentage of the requests served within a certain time (ms)
  50%    778
  66%   1007
  75%   1570
  80%   1644
  90%   1784
  95%   3090
  98%   3131
  99%   3150
 100%   3160 (longest request)
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

13 сен 2011, 13:53

Wervvolf писал(а):Intel(R) Pentium(R) 4 CPU 3.00GHz 2995.229 Mhz X 2 cpu
768mb SDRAM memory
40gb hdd
CentOS+ISPmanager

Код: Выделить всё

Server Software:        Apache/2.2.3
Server Hostname:        www.connect-***.ru
Server Port:            80

Document Path:          /info.php
Document Length:        46436 bytes

Concurrency Level:      500
Time taken for tests:   3.160726 seconds
Complete requests:      500
Failed requests:        1
   (Connect: 0, Length: 1, Exceptions: 0)
ISPmanager - зачетно, не смотря на характеристики системы!!!
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

13 сен 2011, 16:52

Обновил Для просмотра ссылок Вы должны быть авторизованы на форуме.. Добавил результаты Ваших тестирований и упорядочил по лучшим результатам. Очень заинтересовал сервер на 1 месте, думаю и други пользователям mini Server будет интересно подтверждения такого мягко говоря космического быстродействия. На аналогичных машинах. *THUMBS UP*
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
Gu
Guest

Re: Нагрузочное тестирование сервера

13 сен 2011, 20:16

Для полной картины могу добавить инфы,мать стоит Gigabyte H55M-S2,винт стоит обычный sata WD на 500 гиг.Из софтовых примочек поставил memcached (для интересующихся могут почитать в википедии) и активирован модуль апача mod_cache.Попытка поставить eAccelerator не увенчались успехом поскольку я так понял проект уже не кто не поддерживает и по отзывам он плохо дружит с PHP 5.3 который у меня стоит.
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

13 сен 2011, 22:28

usb писал(а):Из софтовых примочек поставил memcached (для интересующихся могут почитать в википедии) и активирован модуль апача mod_cache.
А материалы по которым Вы ставили эти примочки можете показать ?
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
Gu
Guest

Re: Нагрузочное тестирование сервера

14 сен 2011, 00:33

mini-server писал(а): ISPmanager - зачетно, не смотря на характеристики системы!!!
)
эт среди стареньких...
есть еще старее...стоит Фряха с ФриНасом 8...не знаю... почему ее недолюбливают...до этого правда не юзал ни фряху, ни фринас...мне понра...а то что интерфейс инглишь - мне только лучше...а то и переводчики корявят иногда))))

ток есть проблема с исп...
я то сижу за роутером и при создании юзером (не имеющим доступа к ац, небольшой хостинг для товарищей/тестов) нового домена - он создается автоматом по внешнему ип и домен не доступен (извне),а с локалки доступен...и только после ручной перенастройки ипшника на локальный - доступ из нета становиться доступен...
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

14 сен 2011, 23:23

Всех любителей тестировать приглашаем опробовать новое в идеальном сервере Для просмотра ссылок Вы должны быть авторизованы на форуме.. А так же поддержим русских производителей, т.е. nginx. *DRINK*
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
morzexxx
Сообщения: 9
Зарегистрирован: 12 сен 2011, 13:27

Re: Нагрузочное тестирование сервера

18 сен 2011, 12:14

Для просмотра ссылок Вы должны быть авторизованы на форуме. [2.93-3.33] GHz 4GB DDR3 1333 MHz (ASUS P7P55D)
Apache/2.2.16 (Debian 6.0 x64 + ISPConfig 3) PHP 5.3.3-7+squeeze3

Код: Выделить всё

Finished 1000 requests

Server Software:        Apache/2.2.16
Server Hostname:        192.168.200.202
Server Port:            80

Document Path:          /info.php
Document Length:        69346 bytes

Concurrency Level:      1000
Time taken for tests:   0.690 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      69552000 bytes
HTML transferred:       69346000 bytes
Requests per second:    1449.44 [#/sec] (mean)
Time per request:       689.924 [ms] (mean)
Time per request:       0.690 [ms] (mean, across all concurrent requests)
Transfer rate:          98448.34 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   4.2      0      10
Processing:    18  151 184.5     75     678
Waiting:        2  147 184.8     72     676
Total:         28  153 187.2     75     686

Percentage of the requests served within a certain time (ms)
  50%     75
  66%     79
  75%    102
  80%    125
  90%    634
  95%    660
  98%    677
  99%    682
 100%    686 (longest request)
Запишите и мой))) :-[ Requests per second: 1449
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

18 сен 2011, 14:24

morzexxx писал(а):Запишите и мой))) :-[ Requests per second: 1449
Извините, Ваш тест не может быть опубликован, так как он отличается от предложенного в первом посту! ]:->
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
morzexxx
Сообщения: 9
Зарегистрирован: 12 сен 2011, 13:27

Re: Нагрузочное тестирование сервера

18 сен 2011, 14:34

mini-server писал(а):
morzexxx писал(а):Запишите и мой))) :-[ Requests per second: 1449
Извините, Ваш тест не может быть опубликован, так как он отличается от предложенного в первом посту! ]:->
Вот блин не прокатило )))) Ладно вот такой же:

Код: Выделить всё

root@nova:~# ab -k -n 500 -c 500 http://192.168.200.202/info.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.200.202 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.16
Server Hostname:        192.168.200.202
Server Port:            80

Document Path:          /info.php
Document Length:        69343 bytes

Concurrency Level:      500
Time taken for tests:   0.620 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      34774500 bytes
HTML transferred:       34671500 bytes
Requests per second:    806.48 [#/sec] (mean)
Time per request:       619.982 [ms] (mean)
Time per request:       1.240 [ms] (mean, across all concurrent requests)
Transfer rate:          54774.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    3   3.0      5       7
Processing:     4  106  83.8     73     611
Waiting:        3  104  83.4     71     610
Total:         10  109  85.0     73     617

Percentage of the requests served within a certain time (ms)
  50%     73
  66%     75
  75%     80
  80%    229
  90%    256
  95%    269
  98%    277
  99%    279
 100%    617 (longest request)
А вообще зачем вы посылаете на сервер 500 соединений СРАЗУ? Это крайне стрессовая нагрузка и удивительно что апач вообще такое выдерживает! Мало ли какие глюки происходят, вы пытаетесь запустить одновременно 500 процессов! Если разбить их пачками по 100, то сервер справится значительно лучше. Попробуйте ab -k -n 500 -c 100 http://..../info.php увидете разницу! Менее случайный результат!

Код: Выделить всё

root@nova:~# ab -k -n 500 -c 100 http://192.168.200.202/info.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.200.202 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.16
Server Hostname:        192.168.200.202
Server Port:            80

Document Path:          /info.php
Document Length:        66903 bytes

Concurrency Level:      100
Time taken for tests:   0.277 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      33554500 bytes
HTML transferred:       33451500 bytes
Requests per second:    1804.36 [#/sec] (mean)
Time per request:       55.421 [ms] (mean)
Time per request:       0.554 [ms] (mean, across all concurrent requests)
Transfer rate:          118251.02 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.5      0       4
Processing:     3   50  11.9     54      62
Waiting:        1   47  11.8     51      57
Total:          4   50  11.6     54      62

Percentage of the requests served within a certain time (ms)
  50%     54
  66%     55
  75%     56
  80%     56
  90%     58
  95%     59
  98%     60
  99%     61
 100%     62 (longest request)
root@nova:~#

И производительность много выше! Так что неправильный у вас тест. :-) То есть он по-своему правильный - извращенски-садистский такой. ))))
Немного поковырялся (тупил иногда тест) и после небольшого тюнинга (а именно - прописать net.core.somaxconn = 10240 в /etc/sysctl.conf) имеем:

Код: Выделить всё

root@nova:/# ab -k -n 500 -c 500 http://192.168.200.202/info.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.200.202 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.16
Server Hostname:        192.168.200.202
Server Port:            80

Document Path:          /info.php
Document Length:        69351 bytes

Concurrency Level:      500
Time taken for tests:   0.278 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      34778500 bytes
HTML transferred:       34675500 bytes
Requests per second:    1795.63 [#/sec] (mean)
Time per request:       278.454 [ms] (mean)
Time per request:       0.557 [ms] (mean, across all concurrent requests)
Transfer rate:          121971.24 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        5    6   0.3      6       7
Processing:     6  136  75.9    137     267
Waiting:        5  134  75.8    133     265
Total:         12  141  75.6    143     272

Percentage of the requests served within a certain time (ms)
  50%    143
  66%    184
  75%    207
  80%    220
  90%    246
  95%    259
  98%    268
  99%    270
 100%    272 (longest request)

Уаля! 1796! ))) *YAHOO*
Вложения
phpinfo.zip
Мой 192.168.200.202/info.php
(12.06 КБ) 196 скачиваний
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

18 сен 2011, 20:02

morzexxx писал(а):

Код: Выделить всё

root@nova:~# ab -k -n 500 -c 500 http://192.168.200.202/info.php
[...]
Вы писали, что используете ISPConfig а используете корневую директорию Debian, а не созданный сайт с привязанным доменом, это все равно что тестировать localhost.
morzexxx писал(а):А вообще зачем вы посылаете на сервер 500 соединений СРАЗУ? Это крайне стрессовая нагрузка и удивительно что апач вообще такое выдерживает!
А где Вы вычитали что нагрузка в 500 на предложную мною страничку является "стрессовой". Страницы разные бывают! Ах да и вот эти вот факты: "удивительно что апач вообще такое выдерживает" сколько же Apache выдерживает? Этот вопрос интересен не только мне! \m/
morzexxx писал(а):Мало ли какие глюки происходят, вы пытаетесь запустить одновременно 500 процессов!
При появление ошибок, их количество указывается в тесте (Failed requests и Write errors).
morzexxx писал(а):Так что неправильный у вас тест. :-) То есть он по-своему правильный - извращенски-садистский такой. ))))
Аналогично, вижу только пустые слова, пожалуйста предоставьте факты, со ссылками на источник!
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
morzexxx
Сообщения: 9
Зарегистрирован: 12 сен 2011, 13:27

Re: Нагрузочное тестирование сервера

19 сен 2011, 01:58

Уважаемый админ! Ну не надо так сердиться ваш авторитет в сфере построения сервера никто не оспаривает!
mini-server писал(а):Вы писали, что используете ISPConfig а используете корневую директорию Debian, а не созданный сайт с привязанным доменом, это все равно что тестировать localhost.
Не понятно что бы имели ввиду под "используете корневую директорию Debian". *PARDON* Я создал сайт через панель указал доменом IP-адрес (да, так можно) - просто чтобы сайт заработал. И это совсем не то же самое что localhost. Мог бы и реальный домен прописать какая разница я не пойму??? зашел я с другого компьютера через ssh под рутом (надеюсь это не запрещено условиями теста?). В чем претензия? в том что нет домена? Или вы думаете что если я запущу тест в другой директории чета изменится?
mini-server писал(а): А где Вы вычитали что нагрузка в 500 на предложную мною страничку является "стрессовой". Страницы разные бывают! Ах да и вот эти вот факты: "удивительно что апач вообще такое выдерживает" сколько же Apache выдерживает? Этот вопрос интересен не только мне! \m/
Аналогично, вижу только пустые слова, пожалуйста предоставьте факты, со ссылками на источник!
Да не надо все так серьезно воспринимать уже и сказать ничего нельзя. Не знаю я мне кажется просто что в реальном мире одномоментно с точностью до миллисекунды не будут к вам на сервер стучаться 500 пользователей, все таки они будут как-то разнесены во времени. *PARDON*
Просто до того как я не поткрутил net.core.somaxconn тест упирался в него а не в Apache вообще. Теперь я вижу что при правильных настройках тест вполне катит. *DRINK*
Нет тест все таки дурацкий, так как phpinfo везде разное! Лучше прописать какую нибудь операцию 2+2 в скрипте.
Gu
Guest

Re: Нагрузочное тестирование сервера

19 сен 2011, 03:47

mini-server писал(а):
3. Intel(R) Pentium(R) 4 CPU 3.00GHz 2995.229 Mhz X 2 cpu >> 768mb SDRAM >> 158 user/сек (CentOS, ISPConfig 3)
Интересно - когда это я поменял испманагер на испконфиг? попрошу поправить
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

19 сен 2011, 11:16

Wervvolf писал(а):Интересно - когда это я поменял испманагер на испконфиг? попрошу поправить
Извиняюсь! Опечатался, уже поправил. *PARDON*
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
Gu
Guest

Re: Нагрузочное тестирование сервера

06 окт 2011, 13:28

Процессор: AMD Phenom II X4 955 (AM3, L3 6144Kb) 3200 Mhz
Оперативная память : 8Гб DDR3
Win7 x64
Oracle VM VirtualBox
Оперативная память : 1Гб
Процессор: 4 ядра
OC: Ubuntu Server 11.04
Панель управления сервером: ISPConfig 3

Код: Выделить всё

root@server:~# ab -k -n 500 -c 500 http://d1b.ru/info.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking d1b.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.16
Server Hostname:        d1b.ru
Server Port:            80

Document Path:          /info.php
Document Length:        52416 bytes

Concurrency Level:      500
Time taken for tests:   14.502 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      26303500 bytes
HTML transferred:       26208000 bytes
Requests per second:    34.48 [#/sec] (mean)
Time per request:       14501.825 [ms] (mean)
Time per request:       29.004 [ms] (mean, across all concurrent requests)
Transfer rate:          1771.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1  194  97.0    213     318
Processing:    75 5139 3736.1   3828   14129
Waiting:       74 5011 3707.2   3817   14122
Total:        284 5334 3792.7   4010   14364

Percentage of the requests served within a certain time (ms)
  50%   4010
  66%   7586
  75%   8158
  80%   8300
  90%   8962
  95%  13386
  98%  14323
  99%  14329
 100%  14364 (longest request)
Вложения
info.php.zip
Информация о сервере
(9.18 КБ) 198 скачиваний
Gu
Guest

Re: Нагрузочное тестирование сервера

14 окт 2011, 16:57

netbook Aspire One D255 Atom N450 (одно ядро)
память 1Gb DDR2
HDD 2.5" 160Gb 5200rpm
Debian 6.0 + nginx + memcached+++
ISPConfig Version: 3.0.3.3

Код: Выделить всё

root@server:~# ab -k -n 500 -c 500 http://d1b.ru/info.php                      
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking d1b.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        nginx/0.7.67
Server Hostname:        d1b.ru
Server Port:            80

Document Path:          /info.php
Document Length:        72078 bytes

Concurrency Level:      500
Time taken for tests:   12.635 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      36129500 bytes
HTML transferred:       36039000 bytes
Requests per second:    39.57 [#/sec] (mean)
Time per request:       12634.791 [ms] (mean)
Time per request:       25.270 [ms] (mean, across all concurrent requests)
Transfer rate:          2792.50 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1  347 917.5     38    3011
Processing:   159 2642 2558.8   1596    9604
Waiting:       95 2561 2554.8   1551    9523
Total:        200 2989 3365.6   1655   12613

Percentage of the requests served within a certain time (ms)
  50%   1655
  66%   2151
  75%   2453
  80%   3157
  90%   8015
  95%  12484
  98%  12582
  99%  12607
 100%  12613 (longest request)
Вложения
info.php.zip
Информация о сервере
(11.43 КБ) 184 скачивания
a.a.hafizvov
Сообщения: 7
Зарегистрирован: 25 авг 2011, 15:25

Re: Нагрузочное тестирование сервера

28 окт 2011, 11:29

Здравствуйте. Очень рад что наткнулся на ваш сайт. Очень много интересной информации. Вот только возник один вопрос. Данный тест можно делать не обязательно на localhost. Таким же способом можно подвесить почти любой сайт на котором открыт index.php . И поэтому возникает вопрос. А как можно избежать атаки данной командой? Ведь если на хостинге много сайтов то зависнут сразу все.
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

28 окт 2011, 11:39

a.a.hafizvov писал(а):Здравствуйте. Очень рад что наткнулся на ваш сайт. Очень много интересной информации. Вот только возник один вопрос. Данный тест можно делать не обязательно на localhost. Таким же способом можно подвесить почти любой сайт на котором открыт index.php . И поэтому возникает вопрос. А как можно избежать атаки данной командой? Ведь если на хостинге много сайтов то зависнут сразу все.
Проведение данного теста не на localhost не может являться тестом, так как появляется множество факторов. Скорость интернета, время отклика, как на стороне сервера так и клиента.
Ограничивайте количество запросов или IP, вплоть до блокирования прямо в Apache. Укажите на сайте предупреждение что при нарушении данных правил Ваш IP будет заблокирован и разблокирован только при оплате штрафа. Попробуйте например данный способ Для просмотра ссылок Вы должны быть авторизованы на форуме.. ]:->
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
vintik
Сообщения: 2
Зарегистрирован: 28 окт 2011, 19:10

Re: Нагрузочное тестирование сервера

28 окт 2011, 19:24

Процессор: Intel Atom D525
Память: DIMM DDR2 2048
ОС: Ubuntu Server 11.10 x86_64
HDD: WD 500Gb Green (5400-7200 RPM)
Управление сервером: Webmin 1.570

При стандартных настройках (net.core.somaxconn = 128)

Код: Выделить всё

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking vintik (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.20
Server Hostname:        vintik
Server Port:            80

Document Path:          /phpinfo.php
Document Length:        50680 bytes

Concurrency Level:      500
Time taken for tests:   29.610 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      25436000 bytes
HTML transferred:       25340000 bytes
Requests per second:    16.89 [#/sec] (mean)
Time per request:       29609.807 [ms] (mean)
Time per request:       59.220 [ms] (mean, across all concurrent requests)
Transfer rate:          838.91 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0 1616 3407.5     55    9036
Processing:   426 13040 6645.2  13922   25984
Waiting:      288 12860 6679.8  13565   25977
Total:        426 14656 5849.6  13978   29544

Percentage of the requests served within a certain time (ms)
  50%  13978
  66%  14396
  75%  19005
  80%  19402
  90%  22082
  95%  26029
  98%  29449
  99%  29514
 100%  29544 (longest request)
Маленький тюнинг (net.core.somaxconn = 2048)

Код: Выделить всё

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking vintik (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.20
Server Hostname:        vintik
Server Port:            80

Document Path:          /phpinfo.php
Document Length:        50703 bytes

Concurrency Level:      500
Time taken for tests:   4.075 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      25447500 bytes
HTML transferred:       25351500 bytes
Requests per second:    122.71 [#/sec] (mean)
Time per request:       4074.734 [ms] (mean)
Time per request:       8.149 [ms] (mean, across all concurrent requests)
Transfer rate:          6098.82 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       63   72   1.4     72      73
Processing:    66 2008 1151.4   2002    3942
Waiting:       64 1939 1124.9   1946    3897
Total:        134 2080 1151.5   2075    4012

Percentage of the requests served within a certain time (ms)
  50%   2075
  66%   2717
  75%   3065
  80%   3256
  90%   3683
  95%   3893
  98%   3980
  99%   3997
 100%   4012 (longest request)
vintik
Сообщения: 2
Зарегистрирован: 28 окт 2011, 19:10

Re: Нагрузочное тестирование сервера

29 окт 2011, 03:08

Процессор: Intel Atom D410
Память: DIMM DDR2 2048
ОС: FreeBSD AMD64
HDD: WD 500Gb Blue (7200 RPM)
Управление сервером: Webmin 1.570


Без тюнинга (kern.ipc.somaxconn = 2048)
тест не проходит, выдаеться ошибка

Код: Выделить всё

apr_socket_recv: Connection reset by peer (54)
Резултат с (kern.ipc.somaxconn = 2048)

Код: Выделить всё

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking vintik2 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Finished 500 requests


Server Software:        Apache/2.2.21
Server Hostname:        vintik2
Server Port:            80

Document Path:          /phpinfo.php
Document Length:        43082 bytes

Concurrency Level:      500
Time taken for tests:   4.410 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      21652500 bytes
HTML transferred:       21541000 bytes
Requests per second:    113.37 [#/sec] (mean)
Time per request:       4410.362 [ms] (mean)
Time per request:       8.821 [ms] (mean, across all concurrent requests)
Transfer rate:          4794.40 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   35   5.3     35      44
Processing:    31 2201 1249.5   2213    4341
Waiting:       26 2183 1246.9   2189    4317
Total:         74 2236 1244.6   2247    4367

Percentage of the requests served within a certain time (ms)
  50%   2247
  66%   2926
  75%   3317
  80%   3544
  90%   3949
  95%   4197
  98%   4321
  99%   4350
 100%   4367 (longest request)
a.a.hafizvov
Сообщения: 7
Зарегистрирован: 25 авг 2011, 15:25

Re: Нагрузочное тестирование сервера

30 окт 2011, 21:04

mini-server писал(а):
a.a.hafizvov писал(а):Здравствуйте. Очень рад что наткнулся на ваш сайт. Очень много интересной информации. Вот только возник один вопрос. Данный тест можно делать не обязательно на localhost. Таким же способом можно подвесить почти любой сайт на котором открыт index.php . И поэтому возникает вопрос. А как можно избежать атаки данной командой? Ведь если на хостинге много сайтов то зависнут сразу все.
Проведение данного теста не на localhost не может являться тестом, так как появляется множество факторов. Скорость интернета, время отклика, как на стороне сервера так и клиента.
Ограничивайте количество запросов или IP, вплоть до блокирования прямо в Apache. Укажите на сайте предупреждение что при нарушении данных правил Ваш IP будет заблокирован и разблокирован только при оплате штрафа. Попробуйте например данный способ Для просмотра ссылок Вы должны быть авторизованы на форуме.. ]:->
Заносить ip в черный список это конечно здорово. Но думаю не очень актуально т.к. большинство провайдеров используют динамические ip адреса. Время его переподключения и присвоения другого ip займет 5 секунд. А я при загрузке проца на 100 заходить в консоль и править конфиги буду как минимум пол минуты))) Может действительно есть вариант глобально поставить ограничение на количество запросов по ip в промежуток времени? Как например в контакте. Он точно начинает ругаться если даже начинаешь по страницам скакать с использованием только мыши и правой руки))
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

30 окт 2011, 21:34

Просьба с проблемами DDOs атаки не захломлять данную тему, а ну кыш в другой топик! Или создайте новый если такого нету!
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
a.a.hafizvov
Сообщения: 7
Зарегистрирован: 25 авг 2011, 15:25

Re: Нагрузочное тестирование сервера

31 окт 2011, 16:58

mini-server писал(а):Просьба с проблемами DDOs атаки не захломлять данную тему, а ну кыш в другой топик! Или создайте новый если такого нету!
Был поражен отзывчивости и адекватности модератора данного сайта. Остается только догадываться что возможно это просто самоутверждение подростка школьоного возраста. Притом что данная команда убивает напроч и их сервер. Нашел простое и легкое решение в случае конфигурации рассмотренной здесь с использованием nginx. Не буду утверждать что оно совершенно. Но во всяком случае спасает.
Следует внести некоторые изменения в 2 файла

Код: Выделить всё

nano /etc/nginx/nginx.conf
Интересуют последние 2 строчки

Код: Выделить всё

[...]
http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;


    limit_req_zone  $binary_remote_addr  zone=lreq:10m   rate=2r/s;
    limit_zone   lconn  $binary_remote_addr  10m;
[...]
А так же:

Код: Выделить всё

nano /etc/nginx/sites-available/default
Интересуют первые две.

Код: Выделить всё

[...]
limit_req   zone=lreq  burst=4;
limit_conn   lconn  1;


location / {
[...]
Вот и все. Думаю кого-то это занитересует.
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

31 окт 2011, 17:31

*SCRATCH* Скорее всего заинтересует, но было бы лучше если в постах Вы использовали теги а то признаться сложно отличить где начинается
команда - описание выполняемых действий - код файла. *PARDON*
И что имеется по словами "Интересуют последние 2 строчки" просто заменить на Ваши параметры или Вы приложите более детальное описание Ваших действий с пояснением команд и на что они влияют. Поймите правильно другие пользователи проекта могу Вас не понять. *SCRATCH*
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
a.a.hafizvov
Сообщения: 7
Зарегистрирован: 25 авг 2011, 15:25

Re: Нагрузочное тестирование сервера

31 окт 2011, 17:43

mini-server писал(а):*SCRATCH* Скорее всего заинтересует, но было бы лучше если в постах Вы использовали теги а то признаться сложно отличить где начинается
команда - описание выполняемых действий - код файла. *PARDON*
И что имеется по словами "Интересуют последние 2 строчки" просто заменить на Ваши параметры или Вы приложите более детальное описание Ваших действий с пояснением команд и на что они влияют. Поймите правильно другие пользователи проекта могу Вас не понять. *SCRATCH*
Да просто дописать по две строчки в двух файлах. Данная конфигурация ограничит количество подключений по 1 ип за секунду. И количество кодключений.
mini-server
Контактная информация:
Откуда: г. Москва
Сообщения: 1293
Зарегистрирован: 12 июл 2010, 16:11

Re: Нагрузочное тестирование сервера

31 окт 2011, 18:29

a.a.hafizvov писал(а):Да просто дописать по две строчки в двух файлах. Данная конфигурация ограничит количество подключений по 1 ип за секунду. И количество кодключений.
Немного поправил Ваш пост в плане оформления.
Забыл вчера кота покормить. Утром просыпаюсь, чем-то гремит на кухне... наверное готовит...
a.a.hafizvov
Сообщения: 7
Зарегистрирован: 25 авг 2011, 15:25

Re: Нагрузочное тестирование сервера

31 окт 2011, 18:53

Опытным путем немного поправил параметры, а то они были слишком жесткими. Не до конца загружался вордпрес и фид. Теперь выглядит так
/etc/nginx/nginx.conf

Код: Выделить всё

limit_req_zone  $binary_remote_addr  zone=lreq:10m   rate=3r/s;
limit_zone   lconn  $binary_remote_addr  16m;
/etc/nginx/sites-available/default

Код: Выделить всё

limit_req   zone=lreq  burst=8;
limit_conn   lconn  3;
Но думаю для каждого эти параметры будут отличаться.
Если кому будет интересно могу вкраце написать как поставить zabbix на панель. Сам пользуюсь этой программой. Много что может и помогает мониторить серваки и клиенты.

Вернуться в «Тестирование Apache Web сервера»