[ Pobierz całość w formacie PDF ]
.xml.Zamiast tego użyliśmydołączenia encji XML, dzięki czemu generowane mapowania serwletów trafią do nowego plikukażdorazowo po wywołaniu pliku procesu budowania.Ponadto utworzony plik mapowańmoże być dołączony do pliku web.xml za pośrednictwem mechanizmu bazującego na dołączeniuencji XML.Aby skorzystać z tego mechanizmu, na samym początku pliku WEB-INF/web.xmlaplikacji WWW musi zostać wstawiona specjalna deklaracja encji, a także odwołanie do niejw miejscu pliku, w którym ma być dołączona zawartość pliku mapowań serwletów.Poniżejpokazano, jak wygląda plik web.xml pustej serwletowej aplikacji WWW w wersji 2.5 po wpro-wadzeniu takich modyfikacji.&jspc-webxml;Trzeba się upewnić, czy plik web.xml aplikacji WWW na samym początku ma wbudowany do-kument DTD (znacznik DOCTYPE), a poniżej deklarację schematu web-app serwletów w wersji 2.5.Gdy następnie będzie się zamierzało wstawić do pliku web.xml wygenerowane mapowaniaserwletów, należy umieścić w nim odwołanie encji &jspc-webxml;.Trzeba pamiętać, że od-wołanie takie zaczyna się od znaku &, za którym jest nazwa encji i średnik.W celu zastosowania pliku procesu budowania wystarczy poddać go edycji i dla wszystkichwłaściwości zlokalizowanych na samym początku pliku ustawić wartości właściwe dla kon-kretnej konfiguracji, a następnie uruchomić plik za pomocą poniższego polecenia.$ ant -f pre-compile-jsps.xmlBuildfile: pre-compile-jsps.xmlgenerate-jsp-java-src:[jasper2] Sep 27, 2008 10:47:15 PM org.apache.jasper.xmlparser.MyEntityResolverresolveEntity[jasper2] SEVERE: Invalid PUBLIC ID: null[jasper2] Sep 27, 2007 10:47:17 PM org.apache.jasper.JspC processFile[jasper2] INFO: Built File: /index.jspcompile-jsp-servlets:[javac] Compiling 1 source file to /home/jasonb/myproject/webapp-dir/WEB-INF/Wewnętrzne dostrajanie | 177classesBUILD SUCCESSFULTotal time: 7 secondsWszystkie pliki stron JSP znajdujące się w katalogu aplikacji WWW zostaną skompilowanedo postaci serwletów.Gdy wdroży się aplikację, żądania dotyczące stron JSP będą mapowanena skompilowane serwlety.Jeśli pojawi się komunikat SEVERE: Invalid PUBLIC ID: null,należy go zignorować, ponieważ jest fałszywy.Jeżeli planuje się usunąć skompilowane serwlety,a także ich wygenerowany kod zródłowy Java i mapowania, wystarczy wykonać następującepolecenie:$ ant -f pre-compile-jsps.xml cleanTen plik procesu budowania nie wykonuje jednej operacji, czyli usuwania wszystkich plikówstron JSP aplikacji WWW po ich skompilowaniu.Ponieważ nie chcieliśmy przypadkowousunąć plików stron JSP, świadomie je pozostawiliśmy.Plik procesu budowania utworzonyprzez Czytelnika powinien usunąć pliki stron JSP przed wdrożeniem aplikacji WWW.Jeślisię o tym zapomni i omyłkowo pozostawi pliki stron JSP w obrębie wdrożonej aplikacji, żadenz nich nie powinien być udostępniony przez serwer Tomcat, gdyż plik web.xml wyraznie in-struuje go, żeby stosował skompilowane klasy serwletów.Planowanie obciążeniaPlanowanie obciążenia jest następną istotną częścią dostrajania wydajności produkcyjnegoserwera Tomcat.Skala poczynionych działań mających na celu dostrajanie i testowanie plikówkonfiguracyjnych w rzeczywistości nie będzie pomocna, jeżeli nie będzie się dysponowaćsprzętem i przepustowością wymaganą przez witrynę do obsługi spodziewanego natężeniaruchu sieciowego.Oto ogólna definicja planowania obciążenia pasująca do kontekstu niniejszego podrozdziału:planowanie obciążenia jest szacowaniem wymagań witryny dotyczących sprzętu komputerowego,systemu operacyjnego i przepustowości.Sprowadza się to do analizowania i (lub) przewi-dywania całkowitego natężenia ruchu sieciowego, który będzie musiał być obsłużony przezwitrynę, podejmowania decyzji związanych z dopuszczalnymi charakterystykami usług, a takżeszukania odpowiedniego sprzętu i systemów operacyjnych spełniających lub przekraczającychwymagania określone przez usługi w stosunku do oprogramowania serwera.W tym przy-padku oprogramowaniem takim jest serwer Tomcat, jak również wszelkie zewnętrzne serwe-ry WWW i narzędzia równoważące obciążenie, które umiejscowiono przed Tomcatem.Jeśli przed nabyciem i wdrożeniem serwerów produkcyjnych nie przeprowadzi się planowa-nia obciążenia, nie będzie wiadomo, czy sprzęt serwerowy poradzi sobie z ruchem siecio-wym obciążającym witrynę internetową.Co gorsza, nie będzie się świadomym problemu domomentu zamówienia i zapłacenia za aplikacje, a następnie wdrożenia ich na zakupionymsprzęcie.Zwykle będzie za pózno na zbyt radykalne zmiany kierunku działań.Choć zazwyczajmożna dodać pojemniejszy dysk twardy, a nawet zamówić więcej serwerów, czasami ogólnekoszty będą mniejsze, gdy od razu na początku kupi się i (lub) będzie utrzymywać mniejkomputerów pełniących rolę serwerów.Im wyższe natężenie ruchu sieciowego lub większe obciążenie generowane dla jednego żąda-nia klienta, tym ważniejsze staje się planowanie obciążenia.Do niektórych witryn jest kiero-wany tak duży ruch sieciowy, że poradzić sobie z nim w całości przy zapewnieniu rozsądnych178 | Rozdział 4.Optymalizowanie wydajności serwera Tomcatlimitów czasu odpowiedzi może tylko klaster złożony z serwerów.Z kolei w przypadkumniej obciążonych witryn mniejszym problemem będzie znalezienie sprzętu spełniającegopostawione wymagania.Choć prawdą jest, że po wystąpieniu problemu dodanie większej ilościsprzętu lub bardziej wydajnych urządzeń zwykle pozwoli go usunąć, szczególnie w przypadkudużego ruchu sieciowego może to być rozwiązanie, którego koszt będzie nie do przyjęcia.W przypadku większości firm jest tak, że im niższe są koszty sprzętu (włącznie z kosztem je-go bieżącej konserwacji, mającej miejsce od momentu zakupu), tym większe mogą być zyski.Innym godnym uwagi wskaznikiem jest wydajność pracowników
[ Pobierz całość w formacie PDF ]