Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki
Cel Konfiguracja i testowanie serwera WWW Apache w celu optymalizacji wydajności. 2/25
Zakres Konfigurowanie serwera Apache jako wydajnego serwera WWW Rozpoznanie narzędzi do testowania wydajności serwera WWW Opracowanie i implementacja własnej optymalnej pod względem wydajnościowym konfiguracji Weryfikacja i sprawdzenie w praktyce 3/25
Dlaczego Apache? Serwer Czerwiec Liczba Czerwiec % Lipiec Liczba Lipiec % Zmiana Apache 65,588,298 53.76% 66,144,734 52.65% -1.11% Microsoft 38,836,030 31.83% 41,257,913 32.84% 1.01% Google 4,872,765 3.99% 5,465,538 4.35% 0.36% Sun 2,273,173 1.86% 2,245,493 1.79% -0.07% lighttpd 1,470,930 1.21% 1,471,779 1.17% -0.04% Zeus 480,698 0.39% 463,449 0.37% -0.02% 4/25
Dostęp do zasobów Wyzwaniem dla zarządców ośrodków webowych jest zapewnienie szybkiego dostępu i pełnych usług, w miarę wzrastania popularności tych ośrodków webowych, często przy użyciu wciąż tych samych zasobów. 5/25
Środowisko testowe BUDYNEK A BUDYNEK B SERWEROWNIA PIWNICA SWITCH GŁÓWNY SIECI BG 100Mb SWITCH GŁÓWNY BUDYNKU B 100 Mb SWITCH 100Mb KOMPUTER 2 KOMPUTER 4 POKÓJ ADMINISTRATORÓW SIECI KOMPUTER 1 KOMPUTER 3 KOMPUTER 5 KOMPUTER 6 KOMPUTER 7 SWITCH (sieć wewnętrzna) 1000Mb 6/25
Środowisko testowe KOMPUTER 1 Procesor Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) Celeron 2.40GHz 512MB 661FX - zintegrowana SiS900 100Mbit - Intel Corporation 82541PI Gigabit Zintegrowana KOMPUTER 2-42GB PATA - 200GB PATA Procesor 1500zł Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) Intel Pentium IV 3.00GHz 1.512MB Intel Corporation 82875P - zintegrowana Broadcom Corporation NetXtreme BCM5705_2 Gigabit Ethernet - Intel Corporation 82541PI Gigabit - 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78) - 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78) ATI Technologies Inc Rage XL - 80GB PATA - 80GB PATA 3600zł 7/25
Środowisko testowe KOMPUTER 3 Procesor Intel Pentium IV 2.60GHz Pamięć 1.512MB Chipset Intel Corporation 82865G Karty sieciowe - Intel Corporation 82562EZ 10/100 - Intel Corporation 82541PI Gigabit Karta graficzna Zintegrowana Dyski twarde - 36x4 SCSI (RAID 10) - 200GB PATA Szacunkowa 4500zł wartość KOMPUTER 4 komputera Procesor (brutto) Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) - Intel Xeon 5110 1.60GHz - Intel Xeon 5110 1.60GHz 2GB Intel Corporation 5000X - Intel Corporation 80003ES2LAN Gigabit - Intel Corporation 80003ES2LAN Gigabit nvidia Corporation GeForce 7300 LE 73x2 SCSI (RAID 1) 15000 obrotów 9300zł 8/25
Środowisko testowe KOMPUTER 5 Procesor Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) KOMPUTER 7 Procesor Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) Duron 1GHz 256MB Apollo KT266/A/333 Realtek RTL-8139/8139C/8139C+ GeForce2 MX - 40GB PATA 600zł Celeron 2.40GHz 512MB 661FX - zintegrowana SiS900 100Mbit Zintegrowana - 40GB PATA 1100zł 9/25 KOMPUTER 6 Procesor Pamięć Chipset Karty sieciowe Karta graficzna Dyski twarde Szacunkowa wartość komputera (brutto) Celeron 2.40GHz 512MB 661FX - zintegrowana SiS900 100Mbit Zintegrowana - 40GB PATA 1100zł
Pomiary Różne architektury maszyn i przepustowości sieci Klaster z wykorzystaniem load balancing udostępniający usługę WWW Klaster z wykorzystaniem load balancing buforujący zawartość stron WWW Wydajność treści statycznej w zależności od konfiguracji serwera WWW - HTML Wydajność treści dynamicznej w zależności od konfiguracji serwera WWW PERL, PHP Zużycie pamięci w zależności od konfiguracji serwera WWW 10/25
Różne architektury maszyn 60 50 40 30 20 10 0 1 2 3 4 35 30 25 20 15 10 5 0 1 2 3 4 11/25
Różne architektury maszyn (łącze 1000 Mb) 60 50 40 30 20 10 0 1 2 3 4 35 30 25 20 15 10 5 0 1 2 3 4 12/25
Klaster WWW Klaster jest typem równoległej lub rozproszonej architektury, która zawiera zbiór wzajemnie połączonych niezależnych komputerów pracujących wspólnie jako pojedynczy, zintegrowany zespół obliczeniowy. 13/25
Klaster vs komputer (WWW) 60 50 40 30 20 10 0 klaster komp 5 komp 6 50 45 40 35 30 25 20 15 10 5 0 klaster komp 5 komp 6 14/25
Techniki Web Caching u Angielski termin cache ma francuskie korzenie i dosłownie znaczy przechowywać. W terminologii przetwarzania danych caching, czyli buforowanie, oznacza zachowywanie niedawno uzyskanych informacji do przyszłego użytku. 15/25
Typy buforów WWW Bufory przeglądarek Pośredniki buforujące Surogaty 16/25
Bufory przeglądarek 17/25
Pośredniki buforujące 18/25
Surogaty RFC 3040: Brama umieszczona blisko serwera źródłowego albo w innym punkcie sieci, uprawniona do działania w imieniu jednego lub wielu serwerów źródłowych i zwykle ściśle z nimi współpracująca. Odpowiedzi są zazwyczaj dostarczane z wewnętrznego bufora. 19/25
Klaster vs komputer (Cache) 30 25 20 15 10 5 0 klaster komp 5 komp 6 14 12 10 8 6 4 2 0 klaster komp 5 komp 6 20/25
Podsumowanie Redukcja pasma po stronie providera Redukcja obciążenia źródłowych serwerów Surogaty - wydajniejsze rozpowszechnianie własnych treści 21/25
Konfiguracja serwera WWW KOMPUTER KOMP 4 Strona bez kompresji (bajtów) KOMPUTER z kompresją (bajtów) KOMP 4 współczynnik (%) index.html 169 Sposób wykonywania skryptu bez komp. 132 z komp. 78% test.php 93 Rozmiar transferowany (bajtów) 126499 80 23910 86% phpinfo.php Czas testu [s] 55868 59.616918 9660 13.133833 17% index.html (strona CIDE) 6821 Odebranych bajtów (całość) 507361128 2217 97257440 32% mater.html (strona CIDE) 65864 Odebranych bajtów (HTML) 506228562 9574 96037562 14% index.html (strona ONET.pl) Żądań na sekundę 126237 67.10 23837 304.56 18% Czas na żądanie [ms] 596.169 / 14.904 131.338 / 3.283 Transfer [Kbytes/s] 8310.88 7231.48 22/25
Zużycie pamięci Moduł podstawowe mod_perl php5 deflate ssl cgi SIZE [K] 7652 10920 64920 7660 7808 7680 RSS [K] 2104 5204 7360 2120 2540 2120 DIRTY [K] 1052 1052 4580 1068 1152 1056 Wyniki dla pierwszego Apache Moduł podstawowe mod_perl php5 deflate ssl cgi SIZE [K] 7652 10920 64920 7660 7940 7680 RSS [K] 1756 3104 6076 1776 1748 1628 DIRTY [K] 1040 1040 4540 1060 1128 1040 Wyniki dla następnych Apache Moduł podstawowe mod_perl php5 Deflate ssl cgi SIZE [K] 45912 65520 389520 45960 47508 46080 RSS [K] 10740 20724 37740 10440 11280 10260 DIRTY [K] 6236 14424 27280 6320 6792 6256 Sumaryczne zużycie pamięci Apache Moduł podstawowe mod_perl php5 SIZE [K] 45912 136164 726320 RSS [K] 10740 70784 100380 DIRTY [K] 6236 42132 63292 Sumaryczne zużycie pamięci Apache po obciążeniu Moduł podstawowe mod_perl php5 SIZE [K] 45912 213604 2505524 RSS [K] 10740 111020 329744 DIRTY [K] 6236 66088 210496 23/25 Sumaryczne zużycie pamięci Apache w czasie obciążenia
Podsumowanie Sporządzono optymalną konfigurację serwera WWW na podstawie przeprowadzonych badań, takich jak: wpływ architektury maszyn na wydajność. zastosowanie klastra składającego się z serwerów WWW lub surogat. zmiany konfiguracji serwera WWW dla treści statycznej i dynamicznej. wykorzystanie pamięci przez Apache zależnie od wprowadzonych zmian w konfiguracji. Zaprezentowane metody zostały wdrożone między innymi przy: konfiguracji nowego serwera Biblioteki Głównej US obsługującej system biblioteczny w holenderskim sklepie internetowym Lubera Fragmenty pracy zostaną zaprezentowane na konferencji: Zarządzanie i Organizacja Bibliotek pod hasłem Elektroniczny wizerunek biblioteki. 24/25
Dziękuje za uwagę