Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 22, 2013 09:34:34

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Как породить огромное количество запросов на потоках\процессах?

Есть задача слать на сервер кучу запросов, чтобы посмотреть , как с ними справляется rabbitmq.

Собственно как лучше порождать большое количество запросов? Плодить потоки с запросами в одном процессе либо же создавать процессы, в которых порождать потоки с запросами? или еще как…

Отредактировано buddha (Ноя. 22, 2013 09:34:50)

Офлайн

#2 Ноя. 22, 2013 13:15:22

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Как породить огромное количество запросов на потоках\процессах?

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

В скриптах можно использовать rabbitmqadmin (как локально, так и по сети).
Для быстрого визуального контроля состояния Рэббита можно использовать ее же.



Офлайн

#3 Ноя. 22, 2013 14:30:20

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Как породить огромное количество запросов на потоках\процессах?

buddha
Собственно как лучше порождать большое количество запросов?
Асинхронно (с использованием pycurl)
Вот пример на торнадо http://www.py-my.ru/post/4f278211bbddbd0322000000
Когда клиент упрется в CPU, можно “зафоркать”.

Lexander
Вообще-то так вы тестируете сеть (в первую очередь), а не Рэббит, именно сеть есть одно из узких мест.
Если упрется в сеть, значит кролик справляется и нужно думать о расширении канала.

Офлайн

#4 Ноя. 22, 2013 14:35:38

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Как породить огромное количество запросов на потоках\процессах?

o7412369815963
Если упрется в сеть, значит кролик справляется и нужно думать о расширении канала.
Вот именно. Цель то иная - потестить Рэббит, а не сеть.



Офлайн

#5 Ноя. 22, 2013 20:09:04

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Как породить огромное количество запросов на потоках\процессах?

Lexander
Вот именно. Цель то иная - потестить Рэббит, а не сеть.
А я подумал потестить рэббит в составе веб сервера по http, т.е. сам сервер.

Тогда смысла тут извращаться с асинхронностью нет - процессы и потоки.

Сейчас посчитал на пальцах: http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/
160к сообщений в сек, при пустом сообщении, при сети в 100Мбит/сек (100/8 = 12,5Мбайт/сек), выходит 12,5 / 160к = примерно 80байт возможного оверхеда на пакет, в дейстивтельности оверхед должен быть маленький (<80байт), а значит кролик не должен покрыть сеть 100Мбит/сек, при пустых или маленьких сообщениях (Я думаю в них там норм. железо для тестирования было).

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version