Почему не надо? t серверы всегда работают на максимальной скорости?

Это вопрос, который беспокоит меня некоторое время, и я не могу найти в Интернете ничего, что бы об этом говорилось. У меня есть сервер под управлением VMware Hypervisor ESXi. Когда я загружаю на нем виртуальные машины, они обычно загружаются через 2-3 минуты; не очень долго, но не мгновенно. Однако, когда я смотрю журналы производительности на сервере, ни процессор, ни оперативная память, ни диск не используются примерно на 100%; обычно они в среднем составляют около 60% -80%. Итак, если серверу есть над чем поработать, почему он не делает это на 100%?

Мне кажется, что в любой момент должен работать компонент, ограничивающий производительность на 100%. Например, если у меня очень медленный жесткий диск, он почти всегда должен работать на 100%. Следовательно, хотя бы одна из областей (процессор, ОЗУ, диск и сеть) всегда должна быть на 100%, если только сервер не находится в полном режиме ожидания.

Почему это не так?

12
задан 9 January 2017 в 22:11
3 ответа

Одной из причин будет задержка. Задержка между «диск предоставит мне эти данные, которые мне нужны, прежде чем я смогу сделать что-нибудь еще», и временем, когда данные вернутся, оставит ЦП бездействующим на это время.

Ресурсы, вероятно, действительно работают на 100%, но в течение очень коротких периодов . Загрузка операционной системы будет происходить по общему шаблону «обработать или решить что-то, извлечь что-то с диска, сделать что-то в памяти, сделать что-то с устройством», повторяясь много раз в секунду. Итак, когда вы видите, что диск работает на 25% в течение 2 секунд, это, вероятно, означает, что он работал на 100% в течение 0,5 секунды, а затем бездействовал все остальное время.

Как указывает EEAA, многоядерные системы делают это немного более сложным. Однопоточная часть программного обеспечения на ЦП, которая может выполнять четыре потока, может работать только на 25% на полной скорости. Даже многопоточное программное обеспечение редко может достичь 100%, потому что данные должны (обычно) передаваться с жесткого диска в ОЗУ,в кеш, в CPU. Сохранять этот конвейер заполненным сложно, и, как правило, это происходит с предсказуемыми рабочими нагрузками, такими как кодирование видео. В этом случае операционная система может наблюдать шаблоны чтения и извлекать данные до того, как они потребуются, помещая их в соответствующие кеши, такие как дисковый кеш в ОЗУ.

18
ответ дан 2 December 2019 в 21:29

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

Во-первых, и потенциально наиболее просто в многоядерной системе, чтобы понять использование ЦП, вы должны принять во внимание, является ли нагрузка процесса многопоточной и рассчитана ли на использование преимуществ нескольких ядер. Если это не так, то в зависимости от сочетания запущенных процессов вы никогда не сможете увидеть 100% использование. Когда-либо.

Во-вторых, необходимо учитывать производительность устройства ввода-вывода. Как ваша система, например, узнает, на сколько операций ввода-вывода могут выполнять ваши устройства? Это не так. Более значимым показателем для вас является ваше значение iowait во время загрузки (которое может быть трудно получить во время процесса загрузки) или дисковые очереди / задержка во время загрузки (что должно быть легче получить с вашего гипервизора. ). Если вы видите очереди или всплеск задержки, вероятно, ваши устройства ввода-вывода являются фактором, способствующим проблемам с производительностью.

16
ответ дан 2 December 2019 в 21:29

لقد كنت أعمل مع الخادم منذ حوالي 20 عامًا ، وعادةً لا يكون هذا شيئًا جيدًا عندما يعمل أحد المكونات بنسبة 100٪ طوال الوقت.

على سبيل المثال ، لنفترض أن لديك قاعدة بيانات SQL لا تريد تبديلها إلى القرص ولكنك تريد تشغيلها بالكامل من الذاكرة.

إذا كانت قاعدة البيانات لديك تبلغ 24 جيجا بايت وكان نظام التشغيل بحاجة إلى 8 جيجا بايت ، فلن ترغب في تخصيصها فقط 32 جيجا بايت من ذاكرة الوصول العشوائي للجهاز ، هناك الكثير من "الأشياء" التي يمكن أن تسوء ، التعليمات البرمجية السيئة ، DDOS ، الاستخدام الكثيف للتطبيقات ، من يدري ، عدم وجود مساحة رئيسية ، كيف تعرف أن الخادم في مشكلة؟ لدينا حوالي 2000 خادم في مركز البيانات الخاص بنا ، ونود أن نراهم جميعًا يعملون بنسبة 75٪ تقريبًا من وحدة المعالجة المركزية وذاكرة الوصول العشوائي ، ومساحة hhd موجودة على شبكة SAN الخاصة بنا ، لذا فهذه كرة شمعية مختلفة تمامًا. لدينا أيضًا تنبيهات لإخبارنا عندما تصل إلى 85٪ من وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي ، وإنذارات لإخبارنا عندما تصل إلى 90٪.

11
ответ дан 2 December 2019 в 21:29

Теги

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