Производительность сервера

Я очень мало знаю о настройке производительности серверов и т. Д., Поэтому я подумал, что изложу это здесь, когда начну некоторые исследования, просто чтобы получить какое-то направление.

Я нахожусь в процессе миграции со старого сервера на новый - оба являются 64-битными машинами. Одному из них несколько лет, другому совершенно новый (PowerEdge R410).

Старая спецификация сервера: 2 процессора, 3,4 ГГц Pentiums, 8 ГБ ОЗУ, Fedora 11 в настоящее время установлена

Новая спецификация сервера: 16 процессоров, 3,2 ГГц Xeon, 16 ГБ ОЗУ, установлен CentOS 6.2. Также RAID10 на новом сервере - нет RAID на старом.

Оба сервера в настоящее время имеют одинаковую базу данных (MySQL) с одинаковыми перенесенными данными.

Я написал Perl-скрипт, который просто просматривает каждую строку таблицы в базе данных (около 18000 строк) и обновляет значение в этой строке. Каждая строка в таблице обновляется.

Из любопытства я запустил этот Perl-скрипт на обеих машинах, просто чтобы посмотреть, как новый сервер будет работать по сравнению со старым, и он дал интересные результаты: старый сервер был в два раза быстрее нового.

Глядя на базу данных, оба настроены точно так же (новый является дампом старого...)...

Кто-нибудь есть идеи, почему это будет дан аппаратный разрыв между обоими?

Как я уже сказал, я собираюсь начать кое-что копать, но подумал, что поставлю это здесь, чтобы, возможно, получить какое-то хорошее направление...

Спасибо заранее..

Редактировать: 26/9 Спасибо за ответы. У кого-нибудь есть другие предложения? Странно, что только при запуске perl-скрипта, который, как я вижу, старый сервер превосходит новый - все остальные тесты показали, что новый сервер далеко впереди...

Редактировать: 27/9 Хорошо, я провел несколько тестов, используя тест Perls, и обнаружил, что новый сервер превосходит старый, когда я выполняю простые тесты хруста числа, но когда дело доходит до взаимодействия с базой данных, старый сервер работает намного лучше.

Старый сервер:

Тест Crunch с начальным номером: время 200000: 8 сек. ( 7,51 usr + 0,00 сис = 7,51 CPU) @ 26631,16/ с (n=200000) Тест Crunch с конечным номером:

Начать тест БД: время 20000: 163 сек. ( 9,72 долл. США + 2,78 сис = 12,50 ЦП) при 1600,00/ с (n=20000) Конец БД:

Новый сервер:

Тест Crunch с начальным номером: время 200000: 4 секундных таймера ( 4,53 usr + 0,00 сис = 4,53 CPU) при 44150,11/ с (n=200000) Тест Crunch с конечным номером.

Начать тест БД: время 20000: 380 сек. ( 0,86 долл. США + 0,31 сис = 1,17 ЦП) при 17094,02/ с (n=20000) Конец БД:

Вы можете ясно видеть, что новый сервер выполняет больше вычислений в секунду, чем старый, но все же занимает больше времени (много дольше), когда дело доходит до теста базы данных, который просто обновляет строки в таблице.

Так как mysqlslap показал, что новый сервер превосходит старый, я ошибаюсь, если скажу, что проблема заключается в взаимодействии Perls (с использованием DBI) с базой данных? Также, как указано выше, я провел тот же тест с использованием PHP, и новый сервер работал лучше, поэтому проблема, похоже, связана с Perl, особенно когда он взаимодействует с базой данных.

У кого-нибудь есть мысли?

ура

1 ответ

Операции с базами данных вообще многоядерны, у вас 16 ядер, но MySQL не использует их. Вы должны использовать несколько таблиц вместе, а не большие операции только с одной таблицей.

Какое оборудование используется для raid0? (контроллеры, диски)

Другие вопросы по тегам