Хотя большинство потоков работают нормально, один или два сильно отстают. Другие завершают работу за 20 минут, а медленные — за 2 часа, хотя объем данных во всех потоках почти одинаковый.
Приведенный ниже код выполняется в одном потоке за 300 миллисекунд, в то время как в других это занимает 10 миллисекунд. Поскольку мы создаем несколько пулов, эта разница быстро накапливается. Кроме того, количество опрашиваемых записей в обоих потоках практически одинаковое.
Код: Выделить всё
ConsumerRecords records = consumer.poll(60000);
JSONArray jsonArray = new JSONArray();
for (ConsumerRecord record : records) {
jsonArray.put(record.value())
}
- Это происходит каждый раз, когда я запускаю, и может произойти для любого раздела/потока, поэтому я не думаю, что это проблема с определенным разделом или потоком обработки.
- Если я не работаю параллельно, все они работают нормально.
- Все разделы, обрабатываемые потоком, работают медленно и продолжают работать медленно, даже когда другие задания завершены. Опять же, если я выйду из потока и запущу его заново без каких-либо дополнительных действий, он будет работать нормально.
Подробнее здесь: https://stackoverflow.com/questions/787 ... el-threads
Мобильная версия