Rozetka UA

Влияние Hyper-threading на производительность MS SQL Server

Есть такая замечательная технология Hyper-threading

Она широко применяется в настольных компьютерах и ноутбуках. Но применение на серверах вызывает ряд вопросов. Однозначных рекомендаций нет. 

В каких условиях Hyper-threading может принести пользу, повысить производительность? Можно ли дать однозначную рекомендацию- включить или отключить?

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

Получить эффект улучшения включением HT удалось только в достаточно специфичных условиях. Допустим, тестовый сервер на базе рабочей станции, некая задача, которая надолго грузит CPU на 100% и при этом хорошо распараллеливается. Вот в таких условиях включение HT демонстрировало незначительный рост производительности. Все крайне условно, но у меня вот была задача, выполнялась 3 часа 38 мин, стала выполняться 3-29. Другая задача 44-> 37 мин.

То есть, модель процесса- если у ядра производительность 100%, то включением HT можно добиться производительности 60%+60%. В целом больше, но минус затраты на распараллеливание. Кроме того, запросы, которые не удается распараллелить выполняются значительно медленней- продолжительность выполнения многих запросов увеличивается, и это сразу заметно. То есть, в плане практической применимости это может быть полезно тем, кто лицензируется по ядрам, при этом CPU загружен на 100% длительный период времени. То есть, если у кого-то есть сервер с загрузкой по CPU 100% в течение значительной части рабочего дня- можно попробовать включить. Но лучше продумать о замене сервера или процессора на что-то более приличное.

 

 

Effect of Hyper-threading performance MS SQL Server

There is a remarkable Hyper-threading technology
It is widely used in desktop computers and laptops. But servers use raises a number of questions. Unambiguous no recommendations.

In what conditions Hyper-threading can benefit, improve productivity? Is it possible to give an unambiguous rekomendatsiyu- turn on or off?

Checks after disabling HT was much better. As I understand it, we can only recommend for very large number of very small requests, and a limited number of processor cores. In all other cases only harm by HT.

Get the effect of improving the inclusion of HT was possible only in quite specific conditions. For example, a test server based workstation, a certain task which permanently loads the CPU to 100% and thus well parallelized. Here in these conditions the inclusion of HT demonstrated a slight increase in performance. All very conventional, but I have here was a task performed 3 h 38 min, 3 h 29 min has become fulfilled. Another object of the 44-> 37 min.

That is, if the model protsessa- kernel productivity of 100%, the HT performance can be achieved by including 60% + 60%. In general more but less costs for parallelization. In addition, requests that can not be parallelized performed significantly medlenney- duration of the many requests increases, and it is immediately noticeable. That is, in terms of practical applicability it may be useful for those who are licensed by the nuclei while loaded on the CPU 100% longer period of time. That is, if someone has a server CPU load by 100% for much of the working day- you can try to play. But it is better to think about the server or replacing the processor to something more decent.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *