tomcat. przewodnik encyklopedyczny. wydanie ii pełna wersja, ebooki
[ Pobierz całość w formacie PDF ] 4. Optymalizowanie wydajności serwera Tomcat ........................................................141 Pomiar wydajności serwera WWW 142 Zewnętrzne dostrajanie 167 Wewnętrzne dostrajanie 170 Planowanie obciążenia 178 Dodatkowe źródła informacji 181 5. Integracja z serwerem WWW Apache ...................................................................... 183 Zalety i wady integracji 184 Instalowanie serwera httpd Apache 189 Integrowanie serwera Apache z Tomcatem 191 6. Zabezpieczenia serwera Tomcat .............................................................................. 215 Zabezpieczanie systemu 216 Wiele modeli zabezpieczeń serwera 218 Zastosowanie narzędzia SecurityManager 219 Nadawanie uprawnień do plików 223 Tworzenie „klatki” narzędzia chroot Tomcata 227 Odfiltrowywanie danych wprowadzonych przez użytkownika ze złymi zamiarami 237 Zabezpieczanie serwera Tomcat za pomocą protokołu SSL 255 7. Konfiguracja ................................................................................................................271 Plik server.xml 272 Plik web.xml 329 Plik tomcat-users.xml 345 Plik catalina.policy 346 Plik catalina.properties 346 Plik context.xml 348 8. Rozwiązywanie problemów i debugowanie ...........................................................349 Analizowanie plików dzienników 349 Szukanie błędów 350 Adresy URL i komunikacja HTTP 351 Debugowanie za pomocą narzędzia RequestDumperValve 355 Gdy nie udaje się wyłączyć serwera Tomcat 356 9. Tworzenie binariów serwera Tomcat z kodu źródłowego ...................................... 361 Instalowanie oprogramowania Apache Ant 362 Uzyskiwanie kodu źródłowego 363 Pobieranie dodatkowych bibliotek 365 Budowanie serwera Tomcat 366 6 | Spis treści 10. Klaster węzłów z serwerem Tomcat ........................................................................369 Pojęcia związane z klastrem 370 Proces komunikacji związany z żądaniem HTTP 371 Rozproszone kontenery serwletów Java 381 Implementacja klastra w serwerze Tomcat 6 385 Dystrybucja żądań JDBC i przełączanie po awarii 402 Dodatkowe źródła informacji 402 11. Podsumowanie ..........................................................................................................405 Dodatkowe zasoby 405 Społeczność 408 A Instalowanie środowiska uruchomieniowego Java .................................................411 Wybieranie pakietu JDK 412 Radzenie sobie ze starszymi wirtualnymi maszynami Java pakietów GCJ i Kaffe 413 Sun Microsystems Java SE JDK 416 IBM J9 JDK 417 BEA JRockit JDK 418 Apple Java SE JDK 419 Excelsior JET 420 Apache Harmony JDK 423 B Plik jbchroot.c ............................................................................................................425 C Plik BadInputValve.java ............................................................................................ 431 D Plik BadInputFilter.java .............................................................................................439 E Pliki pakietu RPM ....................................................................................................... 451 Skorowidz ............................................................................................................................. 471 Spis treści | 7 ROZDZIAŁ 4. Optymalizowanie wydajności serwera Tomcat Po zainstalowaniu i uruchomieniu serwera Tomcat Czytelnik prawdopodobnie będzie chciał zoptymalizować jego wydajność, żeby efektywniej obsługiwał żądania trafiające do komputera. W tym rozdziale przedstawimy kilka pomysłów dotyczących optymalizowania wydajności środowiska uruchomieniowego i samego serwera Tomcat. Sztuka dostrajania serwera jest złożonym zadaniem. Składa się z pomiaru, analizy, modyfi- kacji i ponownie pomiaru. Oto podstawowe kroki procesu optymalizowania: 1. Zdecydowanie, co ma być zmierzone. 2. Określenie metody pomiaru. 3. Pomiar. 4. Przeanalizowanie wniosków wynikających z uzyskanych informacji. 5. Zmodyfikowanie konfiguracji przy wykorzystaniu metod, które powinny poprawić osiągi. 6. Pomiar i porównanie wyników z poprzednio uzyskanymi. 7. Ponowne zrealizowanie kroku 4. Warto zauważyć (co zresztą widać), że nie jest dostępna klauzula „wyjścia z pętli” (być może odzwierciedlająca rzeczywistość). W praktyce trzeba będzie określić próg, poniżej którego mniej istotne zmiany będą tak mało znaczące, że będzie można zająć się innymi codziennymi zmartwieniami. Dostosowywanie i pomiar można zakończyć, gdy uzyska się przekonanie, że wystarczająco bliskie są czasy odpowiedzi, które spełnią postawione wymagania. Aby zdecydować, co należy zoptymalizować w celu osiągnięcia lepszej wydajności, powinno się przeprowadzić niżej opisane działania. Na komputerze testowym należy uruchomić serwer Tomcat tak samo skonfigurowany jak w przypadku środowiska produkcyjnego. Warto zastosować taki sam sprzęt, system operacyj- ny, bazę danych itp. Im bardziej środowisko testowe będzie przypominać produkcyjne, tym większe będą szanse zidentyfikowania wąskich gardeł, które pojawią się w konfiguracji śro- dowiska produkcyjnego. 141 Na oddzielnym komputerze należy zainstalować i skonfigurować generator obciążenia i opro- gramowanie mierzące czasy odpowiedzi, które posłuży do testowania obciążenia. Jeśli opro- gramowanie uruchomi się na tym samym komputerze co serwer Tomcat, wyniki testów będą nie do końca precyzyjne, a czasami nieprawdziwe. W idealnej sytuacji Tomcat powinien działać na jednym komputerze, a oprogramowanie testujące na innym. Jeżeli nie dysponuje się wy- starczającą liczbą komputerów, nie pozostaje nic innego, jak całe oprogramowanie załadować na testowym komputerze. Testy przeprowadzone w ten sposób będą lepsze od zupełnego zrezygnowania z nich. Jednak uruchomienie na tym samym komputerze klienta sprawdzają- cego obciążenie i serwera Tomcat spowoduje, że uzyska się krótsze czasy odpowiedzi, które przy kolejnych powtórzeniach tego samego testu okażą się mniej zgodne. Należy wyizolować komunikację między komputerem testującym obciążenie i komputerem, na którym uruchomiono serwer Tomcat. Jeśli przeprowadza się intensywne testy, nie będzie pożądane zniekształcanie ich danych przez ruch sieciowy niestanowiący części testów. Ponadto nie będzie mile widziane obciążanie komputerów niezaangażowanych w testy na skutek du- żego ruchu sieciowego generowanego przez testy. Między komputerem testującym i serwerem produkcyjnym należy umieścić przełącznik lub zastosować koncentrator, do którego podłą- czono tylko te dwa komputery. Należy przeprowadzić kilka testów obciążenia, symulujących różnego typu sytuacje charak- teryzujące się dużym ruchem sieciowym, które mogą wystąpić w przypadku serwera pro- dukcyjnego. Aby lepiej przygotować się na przyszłą rozbudowę środowiska, dodatkowo powinno się prawdopodobnie wykonać kilka testów generujących ruch sieciowy większy od oczekiwanego w przypadku serwera produkcyjnego. Należy zidentyfikować wszelkie nietypowo długie czasy odpowiedzi i spróbować stwierdzić, jakie składniki sprzętowe i (lub) programowe są tego przyczyną. Zazwyczaj odpowiada za to oprogramowanie. Jest to dobra wiadomość, gdyż w pewnym stopniu problem z długim cza- sem odpowiedzi można zmniejszyć przez przekonfigurowanie lub przebudowanie aplikacji. Jednak w ekstremalnych przypadkach może być konieczne użycie dodatkowego sprzętu lub nowszych, szybszych i kosztowniejszych urządzeń. Obserwować należy średnie obciążenie komputera serwera, a także w plikach dzienników Tomcata szukać komunikatów o błędzie. W niniejszym rozdziale zaprezentujemy niektóre z typowych ustawień serwera Tomcata kwalifi- kujących się do dostrojenia, w tym związane z wydajnością serwera WWW, pulą wątków żądań Tomcata, wydajnością wirtualnej maszyny Java, konfiguracją sprawdzania adresów usługi DNS i wstępną kompilacją stron JSP. Na końcu rozdziału wspomnimy o planowaniu obciążenia. Pomiar wydajności serwera WWW Pomiar wydajności serwera WWW jest groźnie wyglądającym zadaniem, któremu w tym miejscu powinniśmy poświęcić trochę uwagi i podać odnośniki do bardziej obszernych prac poświęconych tej tematyce. Z wydajnością serwera WWW jest związanych zbyt wiele zmien- nych, żeby w pełni omówić to zagadnienie. Większość strategii pomiaru wykorzystuje pro- gram-klienta, który pełni rolę przeglądarki, lecz w rzeczywistości mniej więcej w tym samym czasie wysyła ogromną liczbę żądań i mierzy czasy odpowiedzi 1 . 1 Istnieje też rozwiązanie serwerowe polegające na uruchamianiu Tomcata pod kontrolą narzędzia Java Profiler w celu zoptymalizowania kodu serwera. Jednak będzie to bardziej interesujące dla programistów niż admini- stratorów. 142 | Rozdział 4. Optymalizowanie wydajności serwera Tomcat
[ Pobierz całość w formacie PDF ]
zanotowane.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|