![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Witam
Mam dosyć poważny problem z php. Moim zadaniem jest napisać aplikację, która będzie działać pod bardzo dużym obciążeniem. Z własnych testów oraz z testów innych ludzi wynika, że PHP4 jest szybsze od PHP5. Jestem skłonny zrezygnować z dodatkowych możliwości jakie daje PHP5, jeśli uda mi się zaoszczędzić nawet setną część sekundy. Co o tym sądzicie i jakie macie doświadczenia? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli to jest na prawdę duży projekt użyj PHP5. Większe możliwości. Moze dla niektórych przy mniejszych projektach PHP5 jest wolniejsze (chodź mi zawsze działa szybciej, nawet przy tych mniejszych) ma o wiele większe możliwości. Skoro to duży projekt - na pewno użyjesz bazy danych (+ cache). Wtedy tylko używac Open Power Drive (PDO + cache) ;-)
Trzeba iść z duchem czasu.. bo czas robi swoje ;-) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 5.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
No i serwer... Nie ma sensu oszczędzać na procedurach, jeśli zamuli Ci blaszak. Kup/wynajmij uczciwą maszynę, dbaj o jej wydajność i będzie w porządku.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Serwer będzie bardzo silną maszyną, więc problemy sprzętowe odpadają. Chodzi tylko i wyłącznie o wydajność samego php.
Według: http://byster.net/?page_id=48 oraz http://byster.net/?page_id=36#a1 PHP4 jest dużo szybsze w pewnych sytuacjach. I o te sytuacje właśnie mi chodzi. Ja naciskam adminów by pozostawić 5, ale "góra" chce szybkości a nie bajerów, których zwykły użytkownik i tak nie będzie widział. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Testów żadnych nie znam, ale wydaje mi się, że różnica nawet jeśli jest, to nie jest duża. To czego jestem na 100% pewien, to to, że zaoszędzić możesz znacznie więcej w innych miejscach -> np. Pisanie dobrego kodu, dobrze zaprojektowana baza danych + cache itd itp.
Inna sprawa to to, że kod pisany obiektowo jest wolniejszy od proceduralnego. I tutaj możesz jeszcze szukać jakichś oszczędności. Tyle tylko, że rodzi się pytanie czy na prawdę warto. Kod proceduralny jest na pewno trudniejszy w utrzymaniu i rozwoju. Zastanów się czy naprawdę warto bawić się w kod proceduralny pisany do tego w php4 dla wzrostu wydajności, który będzie tylko małym ułamkiem tego co zyskasz w innych miejscach. //edit - dałeś linki do testów w czasie gdy pisałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Różnice w większości przypadków nie są aż tak duże. Ja bym został na php5 - chyba, że naprawdę są jakieś poważne powody do przejścia ... cofnięcia się do wersji 4 //edit 2 - bajery w php5 są dla programisty a nie dla usera... Idąc tym tropem można robić strony tylko w html - będą jeszcze szybsze (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował athabus 6.10.2006, 14:20:55 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Serwer będzie bardzo silną maszyną, więc problemy sprzętowe odpadają. Silna nie zawsze znaczy wydajna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Może być źle skonfigurowana (co jest najczęściej popełnianym błędem Administratorów). Nie zdziw się gdzie mój "zwykły" komp (PC) będzie silniejszy od Twojej bardzo silnej maszyny - kwestia konfiguracji. ;-) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Tutaj zgadzam się z Jarkiem. Bardzo dużo zależy od konfiguracji i przedewszystkim odpowiednim pisaniem aplikacji i tutaj tkwi diabeł...
Po za tym kto robi pętle for na 10000 razy ? |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Sprawa serwera i jego konfiguracji leży w gestii administratorów i wiem, że jest to dobrze zrobione.
W kodzie również zastosowałem wszystkie "usprawniacze" poprawiające wydajność. Baza danych również jest zoptymalizowana. Cytat Po za tym kto robi pętle for na 10000 razy ? Nie będzie takich pętli. Ale jeśli w tym samym momencie do jednego pliku, w którym znajduje się pętla for iterująca np do 10, będzie odwoływać się 1000 użytkowników spadek wydajności PHP5 jest zauważalny. Cytat Inna sprawa to to, że kod pisany obiektowo jest wolniejszy od proceduralnego. Za duży jest to projekt, by się grzebać w pisanie kodu strukturalnie. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
A tutaj widzę popełniasz błąd w założeniu batman (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Otóż php obsłuży każdy proces osobno, więc co ma piernik do wiatraka ?
Po za tym jak chcesz żeby szybciej było daj więcej RAMu... |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Za duży jest to projekt, by się grzebać w pisanie kodu strukturalnie. To jeszcze przelicz ile wyjdzie $$$ za druga maszyne a ile $$$ na twoja prace przy optymalizacji tysiecznych czesci sekundy. |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Maszyna już jest, kod jest już zoptymalizowany. Chodzi mi tylko o odpowiedź na pytanie dotyczące wydajności samego języka. Czy warto cofać się do PHP4?
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy warto cofać się do PHP4 Nie. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy warto cofać się do PHP4 Nie, dlatego ze niedlugo juz wyjdzie php6, to bedziesz sie 2xCofac do tylu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Skoro już wiemy, że nie warto cofoać się do PHP4 (argument o PHP6 nie przekonuje mnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) potrzenuję teraz tylko odpowiedzi na pytanie - dlaczego nie? Mam argumenty dla "góry", ale "góra" jest nastawiona na wydajność.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
"Dlaczego PHP5":
- trzeba iść z duchem czasu, PHP4 nie będzie (?) juz dalej kontunowane; - wcale nie jest taki wolniejszy, praktycznie nie widac różnicy; - większe możliwości; - większa wygoda pracy; Dlaczego nie warto cofać się do PHP4? Po co pracować w czymś, gdzie jest możliwość lepszej pracy? Walkę tą można porównać do: Notatnik kontra phpEdit (bądź inny dobry edytor). Tyle, że jest mniejsza różnica szybkości niż w tym wypadku. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 30.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
nie wiemy nawet co to za projekt więc jak możemy stwierdzić, że PHP5 będzie wolniejsze..? a jak już bardzo chcesz przyśpieszyć do napisz sobie DLL własnego i po sprawie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a co do 'for' to w PHP5 jest mała różnica w porównaniu z foreach (proponuje przejrzeć sobie strony o optymalizacji w php Optymalizacja w php), poza tym php nie jest jezykiem, w którym się pisze programy duże obliczeniowo bo podejrzewam, że o takim myślisz..proponuję pisać wtedy podprogramy w C lub C++ o ile masz serwer do swojej pełnej dyspozycji..a nawet w tych językach bez odpowiednich DLL nie wszystko da siię zrobić...jeśli zamierzasz parsować duże ilości tekstu to proponuję użyć GAWK bądź korzystać BASHA..ale tak naprawde nie wiemy coo to za projekt...poza tym w PHP5 masz wyjątki nie musisz pisać setek ifów by obsłużyć każdy błąd wystarczy użyć wyjątków...itd.
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Niestety nie mogę napisać o jaki projekt chodzi. Mogę jedynia napisać, że jest to aplikacja online i nie może być pisana w C++, Delphi i innych podobnych językach. O bibliotekach też myślałem, ale w obecniej chwili nie da się jeszcze tego zrobić, ponieważ klasy są w ciągłej rozbudowie.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Skoro jest to aplikacja.. hmm nie wiem czy dobrze rozumiem, ale AJAX tutaj by załatwił sporo w sprawie wydajności.. ;-)
I jeżeli dużo zapytań do bazy - drugi serwer pod bazę. |
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Zapomniałem dodać, że aplikacja ma działać wszędzie. Pisząc wszędzie mam na myśli wszędzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) FF, badzIEwie, opera, lynx, safari, konqueror, itd. A co do serwera już pisałem, że jest to bardzo dobra maszyna.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 02:03 |