2015-07-13 4 views
0

У меня есть ящик Linux с 4 процессорами, и когда я запускаю процесс на нем, он обрабатывает 1,5 миллиона записей за 30 минут. Здесь обработка означает чтение из Oracle Oracle, получение некоторого материала и запись 1,5 записей в файловую систему в файле.Несколько экземпляров процесса, работающего на одном ядре

Теперь мы планировали запустить несколько отдельных экземпляров (20) этого процесса на этом сервере.

Означает ли это, что я обработаю 20 x 1,5 = 20 миллионов записей за 30 минут? Я вижу Thread (s) для ядра = 1 (команда lscpu). Поэтому я считаю, что это неверное предположение. Какие факторы учитываются при сравнении количества процессоров с количеством процессов?

На самом деле, мы получили запрос о том, что с 20 процессами система должна обрабатывать как минимум 20 миллионов записей в час на ядро ​​.

Я не думаю, что эти запрошенные номера могут быть удовлетворены с помощью этой системы linux.

ответ

0

Означает ли это, что я обработал бы 20 x 1,5 = 20 миллионов записей за 30 минут?

No. Emphatically no.

Я бы рассмотрел 20 миллионов записей как теоретический максимум. Но я ожидаю, что вы столкнетесь с насыщением канала ввода/вывода до этой цели.

Здесь системный архитектор заработает свои деньги. Если этого не сделать, попросите вашего поставщика оборудования предоставить вам доступ к тестовой системе, где вы можете сравнить фактическую производительность. Помните, что пропускная способность ввода/вывода является типичной дроссельной точкой, но вы также можете использовать пропускную способность памяти или даже пределы шины материнской платы.

«Вы никогда не узнаете, как это вкусно, пока вы его не укусите». относится также к бенчмаркингу.

Смежные вопросы