Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wydajność, include podstron
Forum PHP.pl > Forum > PHP
k00sl
Witam, mam pewne pytanie odnośnie wydajności, a mianowicie która z metod jest bardziej wydajna:

a.) includowanie podstron do jednego pliku index.php

przykład:
index.php?action=podstrona1
index.php?action=podstrona2
index.php?action=podstrona3

b.) include do każdego pliku z osobna

przykład:
podstrona1.php
podstrona2.php
podstrona3.php

Metoda "a" wydaje się być bardziej wydajna ponieważ wszystkie funkcje są od razu zaimplementowane i nie są za każdym razem przeładowywane, jednak całe obciążenie przechodzi na jeden plik, nie jak w przypadku metody "b".

Nie jestem w tym za bardzo zorientowany. Jakie macie zdanie na ten temat? Proszę o jaką kolwiek odpowiedz. smile.gif
tehaha
jak dla mnie niepisaną zasadą jest wybieranie rozwiązania prostszego, drugie rozwiązanie jest bez sensu no bo co jak tych stron będzie 80? co do obciążenia trudno mi powiedzieć bo to by trzeba było jakiś testy zrobić, ale pierwsza metoda wydaje mi się pod każdym względem lepsza, no chyba że robisz maksymalnie prostą stronkę z 3 podstronami
k00sl
no tak, ale nie lepiej rozłożyć sobie stronę na parę plików? Powiedzmy te najbardziej obciążone podstrony, jakiś chat.. etc.
tehaha
no strony rozkłada się na kilka plików dla zwiększenia wydajności i własnej wygody, ten kod który się dużo razy powtarza dajesz do pliku inkludowanego, np. header, footer, najczęściej używane funkcje, wydaje mi się że trochę źle to rozumujesz to że posiekasz duży plik na 5 kawałków to nie znaczy że 5 razy zmniejszysz obciążenie, w ręcz przeciwnie otwieranie i pobieranie treści z 5 plików będzie raczej mniej wydajne niż pobranie takiej samej ilości kodu z jednego pliku
k00sl
źle mnie zrozumiałeś, ja się nie pytam o dzielenie pliku na porcję i includowanie headerów, footerów etc. Chodzi mi oto, aby stworzyć powiedzmy drugi taki sam index.php, lecz pod inną nazwą. Tak, aby nie był przetwarzany cały czas jeden plik przez serwer.
tehaha
czyli np. jak masz stronę czatu to byś miał 2 identyczne strony chat.php i chat2.php i użytkownicy są dzieleni, że połowa używa pierwszego a reszta drugiego pliku tak? to by raczej nie zmniejszyło obciążenia bo i tak obciążenie wynika z połączeń do bazy danych, w każdym razie i tak wydaje mi się że źle kombinujesz, zwiększenie wydajności serwisu uzyskuje się np. przez cachewanie niektórych stron, albo wykorzystanie kilku baz danych. Samo rozdzielanie użytkowników na różne pliki nie przyniesie efektu bo to połączenia do bazy danych są głównym obciążeniem.
Pilsener
Wszystkie żądania powinny być przetwarzane przez jeden plik (najczęściej index.php) a fragmenty kodu potrzebne do ich obsługi powinny być includowane, optymalne rozwiązanie to jedna klasa/funkcja = jeden plik i oczywiście includowanie tylko tego kodu, który jest niezbędny (poczytaj o nowoczesnych klasach autoload i popatrz jak to robią frameworki czy duże aplikacje). Jeśli chcesz odciążyć serwer to musisz przekierować żądania na inny a w ogóle najlepiej postawić dedykowane serwery do obsługi plików, bazy oraz php (każdy wymaga nieco innej konfiguracji), dublowanie parsera w ramach jednego serwera tylko obniży wydajność, 1k stron po 100 żądań/s na jednym hostingu będzie mniej wydajne niż jedna strona obsługująca 1k*100 żądań.
AndyPSV
oprzyj to o jeden plik index.php glowny, tak jak kolega powiedzial
rozwiazanie 1sze to jedyne sluszne rozwiazanie, jest najbardziej wydajne
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.