Гиперпоточность против SQL Server и PostgreSQL
Я читал, что гиперпоточность является "убийцей производительности", когда речь идет о БД. Однако то, что я прочитал, не указывало, какие процессоры. Кроме того, это в основном указывало на то, что ввод / вывод был "сокращен до < 10% производительности".
Это логически не имеет смысла, поскольку ввод-вывод - это, прежде всего, функция контроллеров и дисков, а не процессоров. Но тогда никто не сказал, что ошибки имеют смысл.
В том, что я читал, также говорилось, что SQL Server может размещать два параллельных запроса на одном логическом ядре (2 потока), что снижает производительность. Мне трудно поверить, что архитекторы SQL Server сделали бы такой очевидный просчет.
У кого-нибудь есть и данные о том, как гиперпоточность на процессорах текущего поколения влияет на одну из упомянутых мной СУБД?
1 ответ
В том, что я читал, также говорилось, что SQL Server может размещать два параллельных запроса на одном логическом ядре (2 потока), что снижает производительность. Мне трудно поверить, что архитекторы SQL Server сделали бы такой очевидный просчет.
Это не проблема SQL Server. Виртуальные ядра Hyper-Threading выглядят полностью идентичными реальным ядрам операционной системы - черт, даже биос. Вы можете привязать процесс к процессору, но планировщик просто не знает, какое из ядер процессора является реальным, а какое - гиперпоточным... тем более, что оба они являются технически реальными, просто совместно используют определенные ресурсы. Корпорация Intel разработала технологию Hyper-Threading, чтобы позволить "дешевле двухъядерные процессоры, чем реальные", разделяя определенные ресурсы между двумя ядрами каждое, но цена в том, что программа просто не знает об этом.
Новые процессоры Intel лучше в аппаратной части, поэтому Hypewr-Threading больше не считается узким местом для текущего SQL Server - работает на чипах CURRENT Intel. Это потому, что Intel сделала Hyperthreading лучше, в первую очередь.
http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx - это текущее руководство по настройке 2008 R2.
http://ozamora.com/2010/09/sql-server-2008-r2-and-nehalem-processors/ имеет некоторые вещи с Nehalem и SQL Server.