Найти - Пользователи
Полная версия: Как породить огромное количество запросов на потоках\процессах?
Начало » Python для новичков » Как породить огромное количество запросов на потоках\процессах?
1
buddha
Есть задача слать на сервер кучу запросов, чтобы посмотреть , как с ними справляется rabbitmq.

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

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

Lexander
Вообще-то так вы тестируете сеть (в первую очередь), а не Рэббит, именно сеть есть одно из узких мест.
Если упрется в сеть, значит кролик справляется и нужно думать о расширении канала.
Lexander
o7412369815963
Если упрется в сеть, значит кролик справляется и нужно думать о расширении канала.
Вот именно. Цель то иная - потестить Рэббит, а не сеть.
o7412369815963
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Мбит/сек, при пустых или маленьких сообщениях (Я думаю в них там норм. железо для тестирования было).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB