В настоящее время я работаю над проектом Benchmark, где пытаюсь нагрузить сервер запросами zmq.
Мне было интересно, как лучше всего подойти к этому, я думал о том, чтобы иметь контекст для создания сокета и вставлять его в поток, в котором я буду отправлять запрос и ждать ответов в каждом потоке соответственно, но я не слишком уверен, что это возможно с ограничениями Python.
Более того, будет ли это один и тот же сокет для всех потоков, то есть, если я жду ответа в одном потоке (со своим собственным сокетом), сможет ли другой поток перехватить этот ответ?
Спасибо.
РЕДАКТИРОВАТЬ: Логика прохождения теста будет такой:
Клиентский сокет будет использовать zmq.REQ. Клиент отправляет сообщение. Клиент ждет ответа. Если нет ответа, клиент повторно подключается и пытается снова, пока не будет достигнуто ограничение.
Я хотел бы масштабировать эту операцию до любого количества клиентов, предпочитая не иметь дело с процессами, если с точки зрения производительности разница не значительна.
Как бы вы это сделали?