Я выполняю длительный пакетный процесс в IBM WebSphere Application Server v8.5.5.1, который получает данные из репозитория ECM и впоследствии конвертирует его в PDF-документ. Он содержит около 20 тыс. Небольших документов, которые составляют всю партию.Почему я не использую 100%?
Сейчас я получаю около 20 Docs/сек, но система находится только около 45-55% загрузки процессора, так что-то мешает мне, чтобы заставить его работать на полном газу
Я бегу в стандарте Windows 2012 R2 на HP Proliant DL385p Gen8 (32 ГБ оперативной памяти, 2 x AMD Opteron 6272 каждый с 16 ядрами 2,1 ГГц)
Все ресурсы локально хранятся, поэтому сетевой трафик не должен беспокоить.
Я также попытался записать выходные документы PDF в RAMDISK, но улучшения вообще нет.
Любые идеи о том, где я должен заглянуть, чтобы этот процесс использовал всю мощь моего сервера?
Спасибо!
PS: Пожалуйста прилагается эталонное изображение
Если я не ошибаюсь, использование процессора на 47% означает, что 8 из ваших 16 ядер находятся на полном дросселе. Правильно ли указан код? – Alexandre
Я использую ThreadPoolExecutor (размер пула потоков) для многопоточности процесса. Мне также кажется, что он использует только 1 процессор, но Java должен охватывать все доступные процессоры, я уверен? – gvasquez
Возможно, вам стоит взглянуть на монитор Ressource и убедиться, что ваше узкое место не находится на вашем жестком диске или в сети. Мне кажется, что такая деятельность быстро блокируется вводом-выводом. – Alexandre