Prezentacja - C++ Server Pages
Transkrypt
Prezentacja - C++ Server Pages
C++ Server Pages Zastosowanie Podsumowanie C++ Server Pages Krzysztof Rzymkowski Promotor: doc. dr hab. in». Mieczysªaw Alojzy Kªopotek 27 pa¹dziernika 2005 Krzysztof Rzymkowski C++ Server Pages C++ Server Pages Zastosowanie Podsumowanie Wst¦p Esencja Servletów i JSP Architektura C++ Server Pages Problemy implementacyjne Wydajno±¢ yciowe zastosowanie Podsumowanie Krzysztof Rzymkowski C++ Server Pages Servlety i JSP C++ Server Pages Zastosowanie Podsumowanie Koncepcja Architektura Implementacja Wydajno±¢ Servlety - rozszerzenia serwera WWW JSP - uªatwienie generowania HTML'a Kontener Servletów/JSP zapewnia infrastruktur¦: Servlety: ªadowanie, zwalnianie JSP: generowanie, kompilacja Krzysztof Rzymkowski C++ Server Pages Architektura C++ Server Pages Zastosowanie Podsumowanie Koncepcja Architektura Implementacja Wydajno±¢ Moduªy Apache HTTPD 2.0 Infrastruktura HTTP Wykorzystanie innych moduªów (np. mod_rewrite) Podziaª na lu¹no powi¡zane moduªy. Brak zale»no±ci mi¦dzy moduªami Powi¡zanie mi¦dzy mod_cxxsp a mod_servlet na poziomie httpd.conf API servletów wydzielone do oddzielnej biblioteki libservlet.so Rozdzielenie interfejsu i implementacji Krzysztof Rzymkowski C++ Server Pages Architektura C++ Server Pages Zastosowanie Podsumowanie Krzysztof Rzymkowski Koncepcja Architektura Implementacja Wydajno±¢ C++ Server Pages C++ Server Pages Zastosowanie Podsumowanie Obsªuga »¡da« równolegªych Koncepcja Architektura Implementacja Wydajno±¢ Apache narzuca podziaª na procesy (MPM: prefork) Dane sesji musz¡ by¢ dost¦pne podczas przetwarzania ka»dego »¡dania Inny MPM (worker, leader), pami¦¢ dzielona, pipe, socketpair, UNIX socket? Krzysztof Rzymkowski C++ Server Pages Koncepcja Architektura Implementacja Wydajno±¢ C++ Server Pages Zastosowanie Podsumowanie Porównanie wydajno±ci minimalnej dynamicznej strony 1400 C++ Server Pages Java Server Pages PHP Statyczny HTML Liczba odpowiedzi na sekundę 1200 1000 800 600 400 200 0 0 50 100 150 200 250 300 350 Liczba równoległych zapytań Krzysztof Rzymkowski C++ Server Pages 400 450 500 Sklep internetowy C++ Server Pages Zastosowanie Podsumowanie Typowa aplikacja internetowa Wydajno±¢ Kompletny sklep R¦czna implementacja. internetowy Napisany w CXXSP, Wyszukiwanie Podziaª na kategorie Koszyk Krzysztof Rzymkowski nast¦pnie przeniesony do JSP C++ Server Pages C++ Server Pages Zastosowanie Podsumowanie Typowa aplikacja internetowa Wydajno±¢ Testowanie wydajno±ci Zasymulowanie ruchu HTTP Jednoczesne rz¡dania wielu u»ytkowników U»ytkownicy wykonuj¡ na strone okre±lone operacje 1 2 3 4 5 6 7 8 9 10 Odwiedzenie strony gªównej Obejrzenie szczegóªów konkretnego produktu Dodanie ksi¡»ki do koszyka Obejrzenie listy produktów w danej kategorii Proste ltrowanie produktów Wej±cie na stron¦ z formularzem wyszukiwania Wywoªanie zªo»onego ltrowania produktów Dodanie drugiego produktu do koszyka Przejrzenie koszyka Zakup produktów Krzysztof Rzymkowski C++ Server Pages C++ Server Pages Zastosowanie Podsumowanie Typowa aplikacja internetowa Wydajno±¢ Porównanie wydajno±ci strony gªównej sklepu internetowego 240 C++ Server Pages Java Server Pages 220 Liczba odpowiedzi na sekundę 200 180 160 140 120 100 80 60 40 20 0 50 100 150 200 250 300 350 Liczba równoległych zapytań Krzysztof Rzymkowski C++ Server Pages 400 450 500 Wnioski C++ Server Pages Zastosowanie Podsumowanie Koncepcja Servletów i Server Pages sprawdza si¦ nie tylko dla Java'y Tworzenie aplikacji webowych w C++ mo»e by¢ równie wygodne jak w Java Apache HTTPD jest dobr¡ podstaw¡ do tworzenia zaawansowanych rozwi¡za« webowych Przyszªo±¢ projektu: Open-Source Krzysztof Rzymkowski C++ Server Pages Koniec C++ Server Pages Zastosowanie Podsumowanie Dzi¦kuje za uwag¦ Krzysztof Rzymkowski C++ Server Pages