Python / Redis Multiprocessing

Я использую Pool.map из библиотеки многопроцессорной обработки для перебора большого XML-файла и сохранения счетчиков слов и ngram в наборе из трех серверов redis. (которые полностью находятся в памяти) Но по какой-то причине все 4 ядра процессора все время простаивают около 60%. На сервере много ОЗУ, и iotop показывает, что дискового ввода-вывода не происходит.

У меня есть 4 потока Python и 3 сервера redis, работающих как демоны на трех разных портах. Каждый поток Python подключается ко всем трем серверам.

Количество операций redis на каждом сервере значительно ниже того, на что он способен.

Я могу » Не нашли узкое место в этой программе? Каковы были бы вероятные кандидаты?

5
задан albertsun 14 December 2010 в 17:01
поделиться