Jedna, jedyna podstrona mojego serwisu, której przeznaczeniem jest generowanie prostego pliku html na potrzeby AJAXa, wykonuje się 45 sekund (tyle mija od wybrania jej do otworzenia jej). Skrypt nie zawiera nic specjalnego (od, kilka zapytań do bazy danych, układanie graficzne wyników). Wszystkie pozostałe strony serwisu (nawet znacznie bardziej skomplikowane) otwierają się w ciągu 3 - 5 sekundy. Zirytowany postanowiłem testować microtimem czas generowania strony, ale pod sam jej koniec (tuż nad die'm) czas wynosił 0.4 - 0.9 sekundy. Widać jednak spory spadek wydajności (0.2 sekundy) w linijce dotyczącej zapytania:
SELECT u.value AS name, shout.text AS text FROM shoutbox AS shout, users AS u WHERE shout.location='main' AND u.owner=shout.owner AND u.name='name' ORDER BY shout.id DESC LIMIT 10;
Baza danych chodzi na InnoDB.
A, jeszcze jedno. Dość często się zdarza że w tej linijce następuje
ujemny przyrost czasu (!) (tzn linijkę wyżej mamy czas microtime: 0.7, a po tej linijce mamy: 0.5)
Mam nadzieję, że ktoś spotkał się już z czymś podobnym, bo to mi żyć nie daje...