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