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

Podobne dokumenty