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. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Z tymi liczbami to brałem to na logikę, wydawało mi się że te 4500 kb pamięci przypada na jedną osobę która właśnie korzysta ze strony.
Pewnie się mylę więc proszę mnie poprawić. Oczywiście to czysto teoretyczne wyliczenia przy których 1000 użytkowników musiało by jednocześnie wejść na stronę. Co jest mało prawdopodobne ale nie zmienia to faktu że Doctrine mimo wszystko potrzebuje kilka krotnie więcej pamięci. Może 4500 kb to nie jest duże. Ale jeśli tak jak pisałem, strona ma bardzo duży ruch i czysto teoretycznie wejdzie nam w jednej chwili 1000 osób to już mamy problem. Co do Twojej wypowiedzi to bardzo ciekawie to określiłeś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pełen podziw tego jak to przedstawiłeś. W pracy programisty faktycznie ważniejszy jest czas pracy nad projektem a nie zużycie pamięci. Doszedłem do wniosku że mimo wszystko PHP z coraz to nowszą wersją poprawia kwestie wydajności oraz zużycia pamięci (przynajmniej tak wyczytałem z różnych źródeł), sprzęt na których stoją nasze strony jest coraz szybszy i wyposażony w większą ilość pamięci RAM. Dlatego tak jak piszesz nie ma sensu poświęcać dodatkowych tygodni lub miesiące nad tym aby oprogramowanie chodziło szybciej. Na szczęście system cache jest lekarstwem na te bolączki z wydajnością. A z tego co wyczytałem Doctrine ma ich kilka ( do wyboru do koloru (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). Więc morał z tego jest taki że Doctrine dobrze wykorzystane z zastosowaniem systemu cache może skrócić nie tylko czas pracy nad apliacją www ale także przyspieszyć jej działanie w przeglądarce (co na początku przygody z Doctrine może się wydawać niemożliwe). Chyba mam rację (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 5 Dołączył: 13.04.2007 Skąd: Szczecin Ostrzeżenie: (0%)
|
A z tego co wyczytałem Doctrine ma ich kilka ( do wyboru do koloru (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). Owszem ale sporo zalezy od serwera, nie wszedzie jest memcache a raczej nie ma go nigdzie, apc to samo, w praktyce sqlite sie sprawdza bardzo fajnie z tym ze w najnowszej dostepnej wersji jest skopana wersja cache na sqlite, poprawiona jest na svnie i czeka na wyjscie. osobiscie zglaszalem ticket i uwzglednili moje poprawki. sam uzywam poprawionej wersji i dziala super. to czego brak to etykiety czy tez tagi - nie mozesz skasowac tylko czesci cache, albo jeden rekord (po id ktorego nie znasz:)) albo calosc. to jest rowniez zgloszone i czeka na wdrozenie w nowszej wersji. ew jak mi tego zabraknie w jakims projekcie to dopisze to dla sqlite;) tak czy owak nie zastanawiaj sie nad uzyciem doctrine - polecam. bardzo ulatwia zapanowanie nad projektem, pracuje z ta biblioteka ponad 1.5 roku jak ostatnio policzylem, od bardzo wczesnej wersji. nie wyobrazam sobie innego pisania. nastaw sie na to, ze wydajnosc troche spadnie ale od tego jest cache doctrine, cache frameworka i cache browsera. w newralgicznych momentach po prostu uzywalem czystego sqla razem z pdo, wyciagalem to co chcialem, keszowalem i w razie potrzeby uzywalem opakowane w obiekty doctrine tam gdzie bylo to potrzebne. na razie zdarzylo sie to moze 2 razy. w wiekszosci przypadkow nie bedziesz mial problemow, tylko raz przepisywalem serwis bo serwer sobie nie radzil - przepisalem tez na doctrine bo winna byla struktura - z musu byla to kopia rozwiazania jakiegos badziewnego programu dla biur nieruchomosci. po przemysleniu i napisaniu od nowa dziala szybko do dzisiaj. aha, nie polecam serwerow home.pl - sa juz zdecydowanie za wolne pytaj jesli czegos nie bedziesz wiedzial pozdro Cytat poprawiona jest na svnie i czeka na wyjscie wyszly nowe wersje Ten post edytował murwazy 12.05.2009, 10:51:46 |
|
|
|
Sajrox Doctrine, wydajność -> duże projekty 30.04.2009, 17:16:08
Zyx Na pewno szybciej przestanie wyrabiać, to nie... 30.04.2009, 17:32:16
Zyx Może, ale nie we wszystkich przypadkach musi. Syst... 1.05.2009, 19:15:42
Sajrox Wracając do tematu to od wczoraj próbuję uruchomić... 31.07.2009, 10:11:40
murwazy Cytat(Sajrox @ 31.07.2009, 11:11:40 )... 6.08.2009, 10:41:15
mrok Udało sie komuś wyłączyć cache??
W większości lin... 11.08.2009, 17:38:55 
murwazy Cytat(mrok @ 11.08.2009, 18:38:55 ) W... 17.08.2009, 11:13:09
Sajrox murwazy dzięki wielkie. Właśnie o to mi chodziło. ... 11.08.2009, 22:29:13
mrok Sajrox - spróbuj mozę jakims debugerem krok po kro... 12.08.2009, 10:54:21
Sajrox Niestety xdebugera nie mogę zainstalować wieć nici... 12.08.2009, 16:22:05
mrok CytatNiestety xdebugera nie mogę zainstalować wieć... 12.08.2009, 22:14:33
Sajrox xDebug uruchomiony Pół dnia i śmiga
A co do Do... 13.08.2009, 16:40:55 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 12:38 |