Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Względność czasu wykonywania, ... czyli ile to dużo a ile mało? :)
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Witjacie!
Mam nietypowe pytanie - ile wynosi granica przyzwoitości dla renderowania jednej podstrony która jest nazwijmy to statyczna?
Tzn. używa szablonów i pobiera dane z MySQL`a (bez czytników rss i innych bajerów).

Pytam ponieważ piszę system szablonów (a właściwie skończyłem) i wygenerowanie podstrony na podstawie pliku .tpl który posiada kilka powiązań z innymi plikami zajmuje ok. 7-10ms.
Jestem paranoikiem jeśli chodzi o wydajność i sam system tplek ma swój wewnętrzny cache (coby jednego newsa nie pobierać 2x chcąc mieć go w json oraz w html) ale zastanawiam się czy dodatkowo nie pooptymalizować kodu bardziej.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Walian
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

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


A czy przy testowaniu czasu wykonania wymuszasz na bazie danych, żeby nie cache-owała wyników zapytań?
Dla MySQL używa się:
  1. SELECT SQL_NO_CACHE ...


Ew. przyspieszyć możesz sam proces ładowania plików z dysku (które pewnie i tak są cache-owane, ale kit z tym) poprzez usunięcie komentarzy z plików PHP, ale to raczej ostateczność, choć dla paranoika niekoniecznie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kiler129
post
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Tak oczywiście, że wyłączam cache do testów (IMG:style_emoticons/default/winksmiley.jpg)
Co do usuwania komentarzy to nie ma sensu - i tak na większości serwerów działa eAccelerator.

Zastanawiam, się czy ma sens własne cachowanie jeśli skrypt wykryje, że nie używamy sqlite (używam PDO). Tzn obecnie mam to wykonane tak, że w ramach jednej instancji klasy jest robiony w pamięci cache i przed każdym zapytaniem sprawdzane jest czy aby dana strona/news nie był już "wybierany" z bazy, jeśli tak to jest wypluwany z cache.
Teraz rodzi się pytanie - czy warto dodatkowo cachować to na dysku powiedzmy w folderze /cache/raw/ ze strukturą powiedzmy /cache/raw/news/id.dat.
Wtedy jednak przy zmianie newsa trzeba sprawdzać czy istnieje jako cache i go ew. usuwać.
Nie wiem czy to ma sens bo przecież jakoś trzeba kodować dane do pliku a później je parsować (najprościej chyba użyć do konwersji tablica>plik plik>tablica json_encode/decode) co zajmuje chwilę.
Myślałem nad cachowaniem całych podstron z wygenerowanym już htmlem jednakże wpadł mi nieprzewidziany problem - strona każdego zalogowanego użytkownika wygląda inaczej. Mogę oczywiście przyjąć założenie, że buforuje tylko strony dla niezalogowanych jednakże to trochę mijanie się z problemem.

Znalazłem też ciekawe porównanie:
(IMG:http://wstaw.org/m/2010/10/18/Zrzut_ekranu_2010-10-18_godz._23.58.11.png)
Czyli sprawdzenie się starej zasady - prosty i ładny wyglądający kod ma mało wspólnego z wydajnością.
(Więcej na http://phpbench.com/)

Ten post edytował kiler129 18.10.2010, 23:00:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 10:11