Grzegorz K.

Grzegorz K. Angular, JavaScript,
Frontend, UI

Temat: PHP - Wydajność require

Witam, mam do was pytanie.

Czy znacie jakieś metody poprawienia ogólnej wydajności serwisu przy "require'owaniu" wielu, różnych bibliotek ?

Jakieś sztuczki, kruczki ?

Pozdr.

konto usunięte

Temat: PHP - Wydajność require

cache ;>
Piotr Borek

Piotr Borek CTO w Let's Deliver
Sp. z o.o.

Temat: PHP - Wydajność require

Grzegorz Koronowski:
Witam, mam do was pytanie.
Czy znacie jakieś metody poprawienia ogólnej wydajności serwisu
przy "require'owaniu" wielu, różnych bibliotek ?

Na poziomie php-a chyba najłatwiej skorzystać z autoloadera, aby
nie ładować niepotrzebnych bibliotek. Po drugie cache, jak napisał przedmówca, zlikwiduje dużą część wywołań klas z tych bibliotek.

Swoją drogą nie spotkałem się jeszcze z tym, aby liczba inkludowanych plików była jakimś problemem.Piotr Borek edytował(a) ten post dnia 06.05.08 o godzinie 00:43
Grzegorz K.

Grzegorz K. Angular, JavaScript,
Frontend, UI

Temat: PHP - Wydajność require

Jakub Świegot:
cache ;>

Ale co cache :) ?? Jak i gdzie ?
Rafał Korszuń

Rafał Korszuń co-owner @ Kleder

Temat: PHP - Wydajność require

np eaccelerator http://eaccelerator.net/
Michał C.

Michał C. Deputy Head of
Software Development

Temat: PHP - Wydajność require

Wszystkie potrzebne klasy wrzucam do jednego mega pliku. Tak wiec mamy tylko jedno include ;)
Jarosław Lisicki

Jarosław Lisicki programista,
Gadu-Gadu

Temat: PHP - Wydajność require


Jakieś sztuczki, kruczki ?

Pozdr.

* Wszystkie pliki w jednym katalogu lub mozliwe malej ilosci katalogow -> zmniejszenie include_path
* require jest szybsze od require_once
* plik podany z pelna sciezka jest wczytany szybciej niz plik bez sciezki
* oczywiscie jakis opcode cache (apc, xcache)

konto usunięte

Temat: PHP - Wydajność require

Michał Czerwiński:
Wszystkie potrzebne klasy wrzucam do jednego mega pliku. Tak wiec mamy tylko jedno include ;)

Niepotrzebne obciążenie pamięci. Po to wymyślono "include", żeby właśnie tego nie robić.
Michał C.

Michał C. Deputy Head of
Software Development

Temat: PHP - Wydajność require

Nie wiem co to za obiążenie... I tak musisz wczytac te pliki i tak. Tylko że za miast kilku mniejszych masz jeden duży. Nie mierzyłem wykorzystania pamięci przez skrypt, ale czas wykonywania jest o wiele mniejszy od kilkudziesięciu include...
Mirosław O.

Mirosław O. netBOMB.pl

Temat: PHP - Wydajność require

Jak dla mnie to żaden problem, to nie F1 ;) Tak popatrzałem ile używany przeze mnie framework wczytuje na reload (średnio) i to jest jakieś 50-60 plików. Pikuś.

Pomysł z jednym plikiem - bomba :P hehe

konto usunięte

Temat: PHP - Wydajność require

Jak wszystko dasz do jednego pliku to masz później straszny bałagan i danego kawałka kodu trzeba szukać w tym ogromnym potworze...
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: PHP - Wydajność require

Jakub Świegot:
Jak wszystko dasz do jednego pliku to masz później straszny bałagan i danego kawałka kodu trzeba szukać w tym ogromnym potworze...

Pliki można trzymać osobno w wersji roboczej, a na serwerze produkcyjnym przed odpaleniem finalnej wersji (lub po zmianach w wersji roboczej) generować jeden wielki plik - jednorazowo za pomocą osobnego skryptu/programu.

Jak dla mnie to przerost formy nad treścią - optymalizując kod należałoby najpierw użyć narzędzi do profilowania aby znaleźć faktyczne wąskie gardło aplikacji, a dopiero później brać się za zmiany.
Kwestia tego co piszemy - bawimy się, bo chcemy się dokształcić - czy ścigamy się z czasem bo nam serwery padają, klient goni z terminami, w kolejce następne zlecenia itp...

konto usunięte

Temat: PHP - Wydajność require

Michał Czerwiński:
Nie wiem co to za obiążenie... I tak musisz wczytac te pliki i tak. Tylko że za miast kilku mniejszych masz jeden duży. Nie mierzyłem wykorzystania pamięci przez skrypt, ale czas wykonywania jest o wiele mniejszy od kilkudziesięciu include...

No właśnie nie musisz...
Ja akurat mierzyłem - akurat w moim przypadku spadek obciążenia pamięci jest nawet 50%...

Jeśli chodzi o prędkość to tak jak ktoś napisał trzeba dopisywać ścieżki do plików - inaczej są one szukane wszędzie - nie zawsze od razu w aktualnym katalogu... (include_path)Piotr Likus edytował(a) ten post dnia 07.05.08 o godzinie 14:51

konto usunięte

Temat: PHP - Wydajność require

Ja jednak upierał bym się przy rozdzielaniu klas na osobne pliki.

Dla konkretnego zestawu operacji ( np. obsługa formularza + wysyłanie plików ) nie potrzebujemy klas do obsługi logowania czy czegoś tam. Więc dołączamy tylko potrzebne pliki a co za tym idzie pobieramy mniej danych. Operacje na serwerze przebiegają zazwyczaj szybko jednak nie każdy dysponuje szybkim łączem.

Dobrze jest zachować hierarchię plików i katalogów na podstawie klas w plikach.Rafał Dudziński edytował(a) ten post dnia 07.05.08 o godzinie 15:13
Michał C.

Michał C. Deputy Head of
Software Development

Temat: PHP - Wydajność require

Przemek Szalko:

Jak dla mnie to przerost formy nad treścią - optymalizując kod należałoby najpierw użyć narzędzi do profilowania aby znaleźć faktyczne wąskie gardło aplikacji, a dopiero później brać się za zmiany.
Kwestia tego co piszemy - bawimy się, bo chcemy się dokształcić - czy ścigamy się z czasem bo nam serwery padają, klient goni z terminami, w kolejce następne zlecenia itp...
W przypadku mega paczki nie chodzi o wzrost wydajnosci (co jest skutkiem ubocznym) a o wygode. Robiąc poprawki w głownych plikach systemu, nie trzeba sie martwic o aktualizowanie pojedynczych plikow. Tylko generujemy sobie od nowa mega paczke i taka wrzucamy na serwer.Michał Czerwiński edytował(a) ten post dnia 07.05.08 o godzinie 15:16
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: PHP - Wydajność require

Michał Czerwiński:
Przemek Szalko:

Jak dla mnie to przerost formy nad treścią - optymalizując kod należałoby najpierw użyć narzędzi do profilowania aby znaleźć faktyczne wąskie gardło aplikacji, a dopiero później brać się za zmiany.
Kwestia tego co piszemy - bawimy się, bo chcemy się dokształcić - czy ścigamy się z czasem bo nam serwery padają, klient goni z terminami, w kolejce następne zlecenia itp...
W przypadku mega paczki nie chodzi o wzrost wydajnosci (co jest skutkiem ubocznym) a o wygode. Robiąc poprawki w głownych plikach systemu, nie trzeba sie martwic o aktualizowanie pojedynczych plikow. Tylko generujemy sobie od nowa mega paczke i taka wrzucamy na serwer.Michał Czerwiński edytował(a) ten post dnia 07.05.08 o godzinie 15:16


propnuję z FTP'a przerzucić się na svn albo rsync ;-)
Michał C.

Michał C. Deputy Head of
Software Development

Temat: PHP - Wydajność require

Tak, Ale nie wszedzie jest svn :P

Następna dyskusja:

Dwa interpretery php a wyda...




Wyślij zaproszenie do