Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Doctrine, wydajność -> duże projekty, Czy mimo wysokiego zapotrzebowania na pamieć warto używać Doctrine?
Sajrox
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

Od kilku dni szukam coś o Doctrine oraz zastosowania tej biblioteki w dużych projektach.
Generalnie chodzi o to że Doctrine zużywa ponad 4 razy więcej pamięci niż użycie standardowych funkcji w php.

Na co dzień używam swojej własnej biblioteki do obsługi bazy danych z wykorzystaniem PDO i średnio zużycie pamięci wynosi około 1400 kb.
Po zainstalowaniu Doctrine zużycie pamięci przy jednym zapytaniu SELECT wzrosło do około 4500 kb.

Co o tym sądzicie, jak może to wpłynąć na duży projekt z dużym ruchem. Niestety 3 krotne zwiększenie zużycie pamięci może szybko spowodować że serwer może nie wyrobić.

Chciałbym się zapytać o wasze zdanie w tej sprawie, czy mimo tego Doctrone można śmiało używać w dużych projektach (także małych) bez zamartwiania się że serwer może nie dać rady ?

Wydaje mi się że przy np 1000 użytkownikach mogą być już problemy gdyż 4500 kb x 1000 = ok 4 GB.

Oczywiście wiem że można zastosować cachowanie, jednak tutaj chciałbym to wykluczyć i podyskutować o zastosowaniu Doctrone bez cache i innych dopalaczy.

Ciągle się wacham aby na stałe zacząć używać tej biblioteki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Na pewno szybciej przestanie wyrabiać, to nie ulega wątpliwości (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Zawsze użycie bardziej wyspecjalizowanego narzędzia na wyższym poziomie abstrakcji pociąga za sobą spadek wydajności, to już my musimy rozstrzygnąć, co jesteśmy w stanie bardziej poświęcić. Samo użycie PHP to też kompromis, bo przecież możesz teoretycznie wszystko w C albo nawet assemblerze zaklepać, tylko musisz się wcześniej zastanowić, czy zdążysz to zrobić, zanim umrzesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Oczywiście byłaby inna rozmowa, gdybyś miał dwie biblioteki robiące to samo, tyle że jedna bardziej, a druga mniej wydajnie.

Świat niestety jest brutalny - liczy się czas pracy programisty i ogarnięcie złożoności dużych projektów, w wielu przypadkach znacznie taniej jest po prostu w pewnym momencie kupić dodatkowy sprzęt, niż wydawać fortunę na trwające dłużej prace, pełną optymalizację itd. Jedną z form taniej, a skutecznej optymalizacji jest m.in. cache i naprawdę nie wiem, czego się tak przed nim bronisz; dobrze wykorzystany cache bywa skuteczniejszy nawet od czystego zapytania SQL, a skoro Doctrine ma odpowiednie narzędzia do jego realizacji, aż żal nie skorzystać.

Podsumowując - nie ma uniwersalnej odpowiedzi na pytanie. Jeśli wydajność jest czynnikiem krytycznym, to sprawa jest prosta. Mój ostatni projekt realizuję właśnie z użyciem Doctrine, gdyż biorąc pod uwagę specyfikę zadania, byłoby bez niego baaaaaardzo ciężko. A że przy okazji bardzo fajnie współgra ona z OPT... cóż, żyć, nie umierać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

PS. Za przeproszeniem, ale skąd Ci wyszły takie idiotyczne wyniki dotyczące zużycia pamięci? Co mają zasoby zużyte przez PHP i parser DQL-a do ilości użytkowników w bazie?

Ten post edytował Zyx 30.04.2009, 17:33:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 19:08