Database
 sql >> база данни >  >> RDS >> Database

Последователни скорости на пропускателна способност и емисии

От доста време говоря за важността на последователната производителност на SQL Server. Последователната пропускателна способност е изключително важна за много често срещани операции в SQL Server, включително:

  1. Пълно архивиране и възстановяване на база данни
  2. Работа за създаване и поддръжка на индекс
  3. Инициализиране на моментни снимки и абонаменти за репликация
  4. Инициализиране на реплики на AlwaysOn AG
  5. Инициализиране на огледалата на базата данни
  6. Инициализират се вторичните за доставка на регистрационни файлове
  7. Натоварвания на заявки за релационни хранилища за данни
  8. Релационни ETL операции на склад за данни

Въпреки важността на последователната пропускателна способност за SQL Server, все още виждам много хора, които се фокусират само върху произволна I/O производителност и латентност, като същевременно игнорира до голяма степен производителността на последователната пропускателна способност. Докато мислите за последователна производителност на пропускателната способност, трябва да вземете предвид пълния път на данните, от това да са в състояние на покой на вашия носител за съхранение до това да бъдат консумирани от процесорните ви ядра.

В зависимост от вида на технологията за съхранение, която използвате, тя може да бъде свързана към вашия хост сървър чрез Ethernet мрежова интерфейсна карта (NIC) или InfiniBand адаптер за хост канал (HCA). Този тип връзка е най-често срещан за iSCSI SAN и за споделяне на файлове от отдалечен сървър (SMB) 3.0. Microsoft TechNet има добра справка по тази тема, наречена Подобряване на производителността на файлов сървър с SMB Direct.

Теоретичната последователна пропускателна способност на едно NIC/HCA устройство (на порт) е показана на Фигура 1:

Фигура 1:Теоретична NIC/HCA пропускателна способност

Само в случай, че се чудите какво означават InfiniBand (QDR) или Infiniband (FDR), Търговската асоциация на InfiniBand поддържа пътна карта на InfiniBand, която показва историята и планирания напредък в честотната лента на InfiniBand през следващите няколко години. Infiniband има списък от акроними, които описват относителната производителност на връзка InfiniBand, както е показано по-долу:

  • SDR – единична скорост на данни
  • DDR – двойна скорост на данни
  • QDR – Quad Data Rate
  • FDR – четиринадесет скорост на предаване на данни
  • EDR – Подобрена скорост на данни
  • HDR – Висока скорост на данни
  • NDR – Следваща скорост на данни

Традиционните SAN с оптични канали (FC) обикновено използват един или повече адаптери за хост шина (HBA), които имат един или повече портове за оптични кабели, които се свързват към FC превключвател или директно към самия FC SAN. Все още е сравнително рядко да видите широко разпространени 16Gb FC HBA, така че повечето хост сървъри все още имат 4Gb или 8Gb FC HBA.

Теоретичната последователна пропускателна способност на едно HBA устройство (на порт) е показана на Фигура 2:

Фигура 2:Теоретична HBA производителност

Независимо какъв тип интерфейсно устройство или технология използвате, трябва да сте загрижени за това какъв вид слот за шина за разширение е включен на вашия хост сървър. В зависимост от възрастта на вашия сървър и типа процесор, който използва, това може да има огромно влияние върху общата честотна лента, която може да поддържа слотът за шина. Слотовете за експресно свързване на периферни компоненти (PCIe) Gen 3 имат два пъти по-голяма честотна лента на лента в сравнение с по-стар PCIe Gen 2 слот. Можете да определите колко и какъв тип слотове за разширение имате във вашия хост сървър, като разгледате спецификациите и документацията за вашата марка и модел сървър. Засега само процесори Intel Xeon E3 v2, Xeon E3 v3, Xeon E5, Xeon E5 v2, Xeon E5 v3 и Xeon E7 v2 поддържат PCIe Gen 3 слотове. Всичко по-старо от това ще има PCIe Gen 2 слотове или може би дори PCIe Gen 1 слотове, ако е изключително старо (от гледна точка на компютъра).

Теоретичната последователна пропускателна способност на един PCIe слот е показана на Фигура 3:

Фигура 3:Теоретична пропускателна способност на слот за разширение

След въвеждането на микроархитектурата Intel Nehalem през 2008 г., всички 2P и по-големи сървърни процесори на Intel поддържат Intel QuickPath Interconnect (QPI) за връзки между процесорите и паметта в сървър, което дава на тези по-нови процесори поддръжка за неравномерен достъп до паметта (NUMA), който замени по-старата предна шина (FSB). NUMA подобрява мащабируемостта доста значително, тъй като броят на физическите процесори в системата се увеличава, особено когато имате четири или повече физически процесори в хост система.

Съвременните процесори на Intel имат интегрирани контролери на паметта, които поддържат Intel QPI. Когато разгледате спецификациите за конкретен процесор на Intel в онлайн базата данни ARK, ще можете да видите неговата номинална производителност на QPI в GigaTransfers в секунда (GT/sec). GigaTransfer в секунда е просто един милиард операции, които прехвърлят данни в секунда.

Например, модерен процесор Intel Xeon E5-2667 v3 от висок клас (Haswell-EP) има Intel QPI скорост от 9,6 GT/sec, докато по-стар процесор Intel Xeon E5503 от нисък клас (Nehalem-EP) има Intel QPI скорост от само 4,8 GT/sec. Дори сред процесори от едно и също поколение микроархитектура, ще видите вариации в оценената скорост на Intel QPI. Например, в 22nm семейството Haswell-EP процесорът Intel Xeon E5-2603 v3 от нисък клас е оценен на 6,4 GT/sec, докато процесорът от по-висок клас Intel Xeon E5-2660 v3 е оценен на 9,6 GT/sec. Процесорите Intel Xeon E5, E5 v2 и E5 v3 имат две QPI връзки на процесор, докато процесорите Intel E7 и E7 v2 имат три QPI връзки на процесор.

Теоретичната последователна пропускателна способност на единична Intel QPI връзка е показана на Фигура 4:

Фигура 4:Теоретична пропускателна способност на Intel QPI

В зависимост от възрастта на вашия хост сървър, точния процесор, който използва, и типа, скоростта и количеството памет, която е инсталирана, ще имате различни количества теоретична последователна пропускателна способност, налична от всеки модул памет. Всички съвременни процесори на Intel имат интегрирани контролери на паметта, които контролират количеството и честотата на паметта, която процесорът ще поддържа. Най-новите винтидж хост сървъри ще използват DDR3 памет, докато последното поколение Haswell-EP (семейство Intel Xeon E5 v3) процесори поддържат DDR4 памет. DDR4 паметта поддържа по-високи скорости, по-висока пропускателна способност, по-висока плътност на паметта, по-ниска консумация на енергия и подобрена надеждност в сравнение с DDR3 паметта.

Теоретичната последователна пропускателна способност на един модул памет е показана на Фигура 5:

Фигура 5:Теоретична производителност на модула на паметта

Докато разглеждате отделните компоненти в съществуваща или планирана нова система, трябва да търсите несъответстващи компоненти, които могат да въведат изкуствени последователни пречки в производителността в системата. Например, може да имате чисто нов сървър с процесори от висок клас, който е осакатен от факта, че използва 4Gb FC HBA за достъп до SAN. Друг пример може да бъде много бърза PCIe флаш карта за съхранение или RAID контролер, който е инсталиран в PCIe 2.0 x4 слот с ниска честотна лента, което изкуствено ограничава общата последователна пропускателна способност на устройството.

Знам, че това е много техническа информация за усвояване, особено за хора, които не са ентусиасти на хардуера. Мисля, че основната идея, която трябва да вземете от тази статия, е, че последователната производителност е доста важна за много често срещани задачи и натоварвания на SQL Server. Подробностите от ниско ниво за процесори, типове памет, слотове за разширение и устройства за разширение всъщност правят голяма разлика в производителността на последователната пропускателна способност, която ще получите от сървъра и неговата подсистема за съхранение. Добрата последователна пропускателна способност прави живота ви много по-лесен като професионалист по база данни, което ви позволява да поддържате организацията си на много по-високо ниво.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо имате нужда от моделиране на данни?

  2. Специални острови

  3. Каква е разликата между схема и база данни?

  4. SQL LIKE оператор за начинаещи

  5. Свързване с Informix (IDS12 DB) в IRI Workbench