Высокая загрузка с низким использованием ЦП и низким использованием IO на Солярисе с ZFS и MySQL

Да, я попробовал бы его, но я не уверен, что Вы собираетесь видеть много различия в производительности, поскольку большинством серверов является связанный ввод-вывод. Серьезное основание - Вы, должен знать, что больше чем одна ОС хорошо округленный профессионал. Другой причиной являются функции как ZFS, Зоны, SMF, RBAC, Dtrace, и т.д. Большинство функций, которые Вы находите в Linux, является копиями коммерческого программного обеспечения и поэтому имеет тенденцию изолировать несколько лет позади. Нет ничего неправильно с этим, но если Вы хотите опередить кривую, необходимо посмотреть на то, что все делают. Стоимость действительно не является проблемой с версией Соляриса с открытым исходным кодом, доступной по www.openindiana.org.

2
задан 18 September 2013 в 20:25
2 ответа

Вы упомянули, что средняя нагрузка обычно составляет 20, а иногда и 40 или 50. Затем вы упоминаете, что у вас есть 16 доступных процессоров ((2 процессора x 4 ядра) x 2), поэтому средняя загрузка в 20 секунд означает, что ваши процессы борются за процессорное время, а в 40 или 50 вам приходится долго ждать.

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

Есть еще один пост, который хорошо объясняет среднюю нагрузку с использованием сценария трафика на bridge:

Общие сведения о загрузке ЦП Linux

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

Скорее всего, это просто система. перегрузка, а не проблема ZFS или MySQL.

** Изменить, Я вижу, что был добавлен комментарий, в котором говорилось, что вы видите 100% загрузку ЦП. Это также будет соответствовать процессам, просто ожидающим процессорного времени.

0
ответ дан 3 December 2019 в 12:58

Хотел дать вам ответ, более похожий на Solaris:

На многопроцессорном / многоядерном компьютере вы действительно не можете сильно использовать нагрузку на процессор. Изначально используйте mpstat , а не prstat / top , если вы хотите увидеть, не используется ли время от времени одно из ваших ядер в полную силу.

Если mpstat имеет 8 строк вывода, это означает, что у вас есть 8 ядер ЦП, а затем любой процесс, который вы видите в prstat , потребляет более 12,5% ресурсов ЦП (100/8) скорее всего, будет зависеть от ЦП. Чтобы проверить, действительно ли это так, вы можете использовать prstat -L -p , чтобы увидеть, достигает ли какой-либо отдельный поток этого процесса 12,5%, потому что тогда вы точно знаете, что процесс привязан к процессору. У вас довольно много доступных ядер ЦП, но вы всегда должны помнить, что любой отдельный поток обработки может жить только на одном ядре ЦП. Чтобы MySQL мог использовать ваш ящик, становится вопросом, насколько хорошо разделить работу на несколько потоков. Если в MySQL есть один горячий поток, то ваша мощная машина не сильно поможет.

Также вы можете найти немало людей, которые посоветуют отключить Intel HyperThreading при нагрузке на сервер Linux / Solaris, потому что на самом деле он лучше работает без Это. УМММ. Насколько я понимаю, Intel HyperThreading отлично подходит для рабочих нагрузок настольного типа, но для сервера, который должен делать только одно и делать это быстро, это может нанести ущерб производительности.

1
ответ дан 3 December 2019 в 12:58

Теги

Похожие вопросы