Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP vs C++
Forum PHP.pl > Inne > Hydepark
Fifi209
Witam, zastanawiało mnie czasem czy przy większej liczbie odwiedzin bardziej wydajne byłoby napisanie części aplikacji w C++, komunikowałbym się z nią przez sockety.

np. PHP wysyła do aplikacji żądanie o zwrócenie danych dla jakiegoś zapytania sql, aplikacja sprawdzi czy takie zapytanie było kiedyś wywołane, jeżeli nie to utworzy połączenie z bazą danych, pobierze dane następnie zapisze w pamięci i zwróci dane do PHP, jeżeli było to pobierze wynik z pamięci.

Ogólnie chciałbym coś takiego napisać, choćby nawet aby nauczyć się obsługi socketów zarówno w PHP jak i w C++. (i tutaj bym prosił o jakieś wskazówki, ew. polskie strony)
Riklaunim
Zapytania SQL nie wykonują się szybciej w aplikacjach napisanych w C/C++. Jednakże duże serwisy jak Facebook, czy Nasza Klasa i inne wykorzystują różne języki i usługi do skalowania swoich aplikacji (Erlang ostatnio bardzo popularny, także C, C++, C#, Python, Perl, Java...) popatrz np. na Thrift - wymyślony przez developerów Facebooka służy właśnie do wymiany danych między różnymi językami. Po polsku to niewiele jest informacji winksmiley.jpg Angielski przy nowych technologiach to podstawa.
Fifi209
Cytat(Riklaunim @ 1.02.2010, 21:03:47 ) *
Zapytania SQL nie wykonują się szybciej w aplikacjach napisanych w C/C++.

Bardziej myślałem, że ta aplikacja ma przejąć część zadań na siebie, aby wydajność wzrosła i aby można obsłużyć więcej żądań.

A może nie warto się męczyć i po prostu cache na zapytania, cache mogę trzymać na ramdisku i czas dostępu jest bardzo malutki - wzrasta wydajność.
chlebik
Jezeli mowimy o bazie to kwestia jest baza i sam fakt koniecznosci polaczenia sie do niej i obslugi tegoz polaczenia. Niezaleznie czy to C++ czy PHP aplikacja musi wykonac te same czynnosci - puscic request z pytaniem, potem autentykacja, zamkniecie polaczenia. Tutaj trzeba tuningowac baze i zapytania, a nie klientow.
nasty
Cytat
PHP wysyła do aplikacji żądanie o zwrócenie danych dla jakiegoś zapytania sql, aplikacja sprawdzi czy takie zapytanie było kiedyś wywołane, jeżeli nie to utworzy połączenie z bazą danych, pobierze dane następnie zapisze w pamięci i zwróci dane do PHP, jeżeli było to pobierze wynik z pamięci.
Baza danych sama w sobie ma taką funkcjonalność. Nałożysz kolejną warstwę w aplikacji, w której są operacje I/O zmniejszając tym samym wydajność aplikacji.
Wykrywacz
A nie lepiej było by ci załadować pierwotnie do pamięci np. jakiegoś datatable zawartość tablic i na tym operować? W tedy operujesz w pamięci danymi, a faktyczny update i tym samym jakąś synchronizację wrzucasz w momencie przeładowania strony i to tak naprawdę tylko w celu backupu.

Niewiem czy w c++ jest datatable, ale w c# są miłe i wygodne a do wyświetlania puszczasz sobie to powiedźmy w ASP
erix
Cytat
Bardziej myślałem, że ta aplikacja ma przejąć część zadań na siebie, aby wydajność wzrosła i aby można obsłużyć więcej żądań.

Polecałbym zainteresować się dodatkiem HipHop stworzonym niedawno przez Facebooka. winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.