Test serwerów (XXVI): Do ośmiu procesorów, czyli PowerEdge 8450

W teście SQL 4-procesorowy komputer uzyskał wynik 1,15 transakcji na sekundę (pod systemem NT). Po dodaniu 4 procesorów wydajność wzrosła do 2,16 transakcji na sekundę. Podobne (proporcjonalne do liczby procesorów) przyrosty wydajności odnotowano porównując wyniki uzyskane po zainstalowaniu w serwerze czterech, pięciu, sześciu i siedmiu układów CPU. Wzrost wydajność po przejściu z systemu 7-procesorowego na 8-procesorowy był gorszy, niż należałoby tego teoretycznie oczekiwać, ale dalej zadowalający. Podsumowując: test wykazał, że chipset Profusion spisuje się w przypadku serwera PowerEdge 8450 bez zarzutu.

Pracując pod systemem Win 2000 i obsługując bazę danych SQL, 4-procesorowy serwer uzyskał wynik 1,17 transakcji na sekundę. Po przejściu na 8 procesorów wydajność wzrosła do 2,19 transakcji na sekundę (wzrost o 87,2 proc.). Znowu bardzo dobry wynik, podobny do uzyskanego pod systemem NT.

Podczas testowania serwera zaobserwowano następującą regułę. Im mniej są wymagające transakcje SQL (chodzi o intensywność przetwarzania danych), tym mniejsze są przyrosty wydajności po przejściu z serwera 4-procesorowego na 8-procesorowy. Dzieje się tak, ponieważ obciążając procesory w mniejszym stopniu zadaniami generowanymi przez aplikację SQL Server, muszą one wykonywać dużo więcej operacji związanych z obsługą sieci. Decydując się na ewentualne wyposażenie serwera w 8 procesorów, fakt ten należy brać pod uwagę. Na system 8-procesorowy opłaca się więc przechodzić szczególnie wtedy, gdy serwer wykonuje bardzo dużo takich transakcji SQL Server, które obciążają intensywnie zadaniami układy CPU.

Wnioski

Win 2000 lepiej niż Win NT obsługuje architekturę SMP

Oprogramowanie (systemy operacyjne) zarówno Windows NT 4.0 Enterprise Edition, jak i Windows 2000 Advanced Server jest przygotowane do tego, aby obsługiwać 8-procesorowe serwery klasy (SMP), ale Microsoft zapewnia, że komputery SMP platformy Win 2000 sprawują się w tym środowisku lepiej niż komputery platformy NT. Microsoft nie informuje jednak użytkowników, jakiego rodzaju usprawnienia wprowadził do systemu Win 2000. Wiemy tylko tyle, że Win 2000 pracuje wydajniej niż Win NT, ponieważ potrafi np. mapować przerwania używane przez karty sieciowe, przypisując je do określonego procesora, oraz obsługuje dużo efektywniej system plików NTFS (NT File System).

Ale to nie wszystko. Wiadomo skądinąd, że Win 2000 zarządza zupełnie inaczej (czytaj: dużo lepiej) pamięcią, której pojemność przekracza 4 GB. Dzięki nowej architekturze EMA (Enterprise Memory Architecture) system operacyjny obsługuje dużo lepiej intelowskie rozszerzenia PAE (Physical Address Extensions), wtedy gdy ma do czynienia z 32-bitowymi systemami opartymi na technologii IA-32. Rozszerzenia PAE pozwalają serwerowi używać więcej niż 4 GB pamięci RAM. Nowa architektura EMA przyczynia się do tego, że system NT pracuje wydajniej obsługując systemy wyposażone w większe pamięci RAM.

Testy wykazały ponad wszelką wątpliwość, że serwer PowerEdge 8450 można z powodzeniem skalować, instalując na płycie głównej systemu kolejne procesory, tak aby dysponował w maksymalnej konfiguracji 8 procesorami. Wyniki (chodzi o przyrost wydajności) będą zależeć w dużej mierze od tego, jak podczas typowej pracy danego serwera wykorzystuje on układy I/O (wymiana danych z dyskami twardymi) i jak często komunikuje się z siecią komputerową. Gdy oba te elementy są wykorzystywane intensywnie, można się spodziewać nieco mniejszych przyrostów wydajności. Można sobie w tym momencie zadać podstawowe pytanie: czy 8-procesorowy serwer PowerEdge 8450 wart jest ceny, jakiej żąda za niego Dell? Jeśli serwer obsługuje dużą bazę danych i wykonuje mnóstwo transakcji, odpowiedź brzmi: tak. Warto wtedy dodać do 4 procesorów następne 4, ponieważ serwer będzie pracować dwa razy szybciej, a jeden serwer 8-procesorowy kosztuje mniej niż dwa serwery 4-procesorowe. Jeśli jednak serwer 8-procesorowy jest nam potrzebny do tego, aby wykonywać kilkaset transakcji sieciowych na sekundę, odpowiedź nie jest już taka jednoznaczna.

Dane techniczne serwera PowerEdge 8450
Procesory: do ośmiu procesorów Intel Pentium III Xeon 550 MHz z magistralą danych 100 MHz; pamięć podręczna Level 1 o pojemności 32 kB i Level 2 o pojemności 1 lub 2 MB. Chipset Intel ProFusion
Pamięć RAM: od 256 MB do 16 GB pamięci ECC EDO DIMM; 32 gniazda DIMM
Pamięć masowa: dyski twarde SCSI – 9 GB, 18 GB Ultra-2/LVD (7200 i 10 000 obr./min); dyski twarde Fibre Channel – 9 GB, 18 GB, 36 GB (10 000 obr./min)
Kontrolery SCSI: zintegrowany podwójny kontroler Ultra-2/LVD SCSI Adaptec AIC-7890; zintegrowany kontroler EIDE; opcjonalny kontroler (karta) Adaptec Ultra-2/LVD SCSI 2940
Kontrolery RAID: opcjonalny kontroler (jednokanałowy) PowerEdge Expandable RAID
Zewnętrzna pamięć masowa: opcjonalny system pamięci (SCSI) PowerVault 2xxS; opcjonalny system pamięci RAID (Fibre Channel) PowerVault 650F, 651F, 630F
Pamięć taśmowa: opcjonalna stacja PowerVault 120T-DLT7 (245 GB/490 GB) – tylko stojak; opcjonalna stacja PowerVault 130T-DLT4 (600 GB/1,2 TB) – tylko stojak; opcjonalna stacja PowerVault 130T-DLT7 (1,05 TB/2,1 TB) – tylko stojak
Gniazda I/O: 10 gniazd PCI (podłączanie na gorąco; 4 x 66 MHz i 6 x 33 MHz)
Miejsce na dyski: dwa miejsca na dyski 1“; stacja CD-ROM x40; standardowy napęd dyskietek 3,5“
Porty I/O: klawiatura PS/2, mysz PS/2, 2 porty szeregowe, port równoległy, 2 porty USB, port wideo
Sieć: adapter Intel Pro/10+ PC LAN; adapter Intel Pro/100+ Server; adapter Intel Pro/100+ Dual Port Server; adapter Intel Pro/1000 Gigabit Server; karta sieciowa PCI Giganet cLAN 1250 32/64-bitowa
Oprogramowanie opcjonalne: Microsoft Windows NT Server, wersja 4.0, edycje Terminal Server i Enterprise (z certyfikatem Microsoft Cluster Server); Microsoft Windows 2000 Server; Microsoft Windows 2000 Advanced Server; Seagate Backup Exec (NetWare i Windows NT Server); Computer Associates ARCserve (NetWare i Windows NT)
Obudowa: do instalowania w stojaku; wysokość 7U
Zarządzanie: system automatycznego monitorowania napięć, wentylatorów i temperatury; zarządzanie macierzą dysków w ramach opcji oferowanych przez kontroler RAID PowerEdge Expandable; śledzenie błędów pamięci wykrytych i poprawionych przez ECC; jeśli system operacyjny odmówi posłuszeństwa, opcja Automatic Server Recovery uruchomi ponownie system bez interwencji użytkownika; użytkownik może definiować warunki graniczne dotyczące systemu operacyjnego, strojąc w odpowiedni sposób system i zwiększając jego wydajność; alerty generowane przez oprogramowanie Dell OpenManage informują administratora o aktualnym stanie serwera i potencjalnych problemach; dysk CD zawierający oprogramowanie Dell OpenManage Server Assistant, pozwalający szybko konfigurować i uruchamiać serwer; opcjonalna karta Remote Assistant Card wersja 2.0 (zarządzanie zdalne); oprogramowanie HP OpenView Network ManageX Special Edition

Metodologia testowania

Stanowisko testowania składało się z 10 klientów - komputerów wyposażonych w minimum 2 procesory Pentium II 400 MHz i 128 MB pamięci RAM. Najsilniejszy komputer był wyposażony w 4 procesory Pentium III 400 MHz i 1 GB pamięci RAM. Każdy klient dysponował jedną kartą sieciową 100 Mb/s, której używał do komunikowania się z siecią Fast Ethernet.

Testowany serwer (PowerEdge 8450) był wyposażony w 2 GB pamięci RAM i można w nim było instalować do 8 procesorów Pentium III Xeon 550 MHz (512 kB pamięci podręcznej Layer 2). Serwer był podłączony do systemu pamięci masowej PowerVault RAID, w której znajdowało się osiem dysków twardych 9,1 GB (Ultra2 SCSI; 10 000 obr./min). W samym serwerze umieszczono dwa dyski twarde. Na jeden dysk nagrano system operacyjny Windows NT, a na drugi Windows 2000.

Nad przebiegiem testów czuwało oprogramowanie Benchmark Factory (Quest Software), które kontrolowało poczynania klientów oraz gromadziło i archiwizowało wyniki uzyskiwane po uruchomieniu testów internetowych i testów SQL Server.

Testy internetowe polegały na tym, że programy pracujące po stronie klienta kierowały określone żądania do serwera Web (czyli do aplikacji Microsoft Internet Information Server 4.0), pobierając z niego strony Active Server Pages (pliki z rozszerzeniem .asp). Klienci pobierali pliki, których wielkość wahała się od 5 kB do 15 kB. Serwer odbierał takie żądanie, generował plik i wysyłał go do klienta. Klient wysyłał następne żądanie, gdy tylko poprzednie zostało spełnione. Jest to bezlitosny scenariusz (chodzi o obciążenie serwera zadaniami) i dlatego wyniki uzyskane po uruchomieniu takiego testu nie mówią do końca prawdy, ilu użytkowników serwer może jednocześnie obsługiwać. W rzeczywistości serwer będzie mógł prawdopodobnie obsługiwać jednocześnie dużo więcej użytkowników.

Test internetowy powtarzano wielokrotnie, zwiększając za każdym razem liczbę wirtualnych użytkowników pracujących na każdym kliencie. Liczbę użytkowników zwiększano sukcesywnie od 1 do 15, uruchamiając każdy taki test pięć razy: po zainstalowaniu w serwerze 4 procesorów, a następnie 5, 6, 7 i wreszcie 8 procesorów. Każdą taką sesję testów uruchamiano dwukrotnie, raz na serwerze pracującym pod systemem operacyjnym Windows NT 4.0 Enterprise Edition (z programem IIS 4.0; serwer Web) i raz pod systemem operacyjnym Windows 2000 Advanced Server (z programem IIS 5.0; serwer Web).

Test SQL Server był oparty na oprogramowaniu Microsoft SQL Server 7.0, a metodologia była podobna do tej, jaką stosowano w przypadku testów internetowych. Z tym tylko wyjątkiem, że liczbę wirtualnych użytkowników zwiększano sukcesywnie z 2 do 30. Proszę przy tym pamiętać, że każdy taki wirtualny użytkownik obciążał serwer dużo większą liczbą zadań, niż ma to miejsce w świecie rzeczywistym.

Wykonując wiele prób zmierzających do tego, aby opracować taki model testowania, który będzie obciążać układy CPU maksymalną liczbą zadań, nie doprowadzając jednocześnie do całkowitego paraliżu serwera, zdecydowano się wybrać następujący wariant: każdy wirtualny użytkownik wywołuje następującą procedurę przechowywaną w pamięci serwera SQL Server, a następnie czeka dziewięć sekund, po upływie których powtarza to zadanie, generując kolejne takie wywołanie:

declare @value int

select @value=count(DB94float) from

DB94_updates where DB94code like ‘%123%’

select DB94key, DB94code

DB94date, DB94signed, DB94name from

DB94_updates where DB94key=@rand_input end

Stosując taką właśnie metodę testowania, ograniczono do minimum liczbę transakcji sieciowych wykonywanych przez serwer w ciągu jednej sekundy, koncentrując się na tym, aby maksymalnie obciążyć dostępne w danym momencie układy CPU. Stosowano przy tym systemy Win NT i Win 2000 w ich standardowych konfiguracjach, nie wprowadzając do nich żadnych poprawek usprawniających pracę testów. I jeszcze jedna uwaga - klienci używali do komunikowania się z serwerem powszechnie stosowaną metodę, korzystając z usług gniazd TCP/IP.


TOP 200