Blog - Szara Myszka

v.2.0 beta
Trwają prace nad ulepszeniem kodu stron. Prosimy o cierpliwość. Strony nie zostały porzucone
Login: Hasło:

2010-07-16 13:15:16: Kolejne podbicie wersji bloga po pewnym czasie ciszy

Webmaster - CGS ilość zapytań do MySQL

internet Dodano: 2009-02-02 23:30:07
Edytowano: 2009-02-03 00:31:37

Spis treści


Interesowało was kiedyś jak zrobić coś takiego jak mam w stopce? Czas generowania strony i ilość zapytań do MySQL? No to macie odpowiedź w tym wpisie.

Zacznijmy od prostego wprowadzenia co to komu? Każdy webmaster powinien wiedzieć czy jego skrypt nie obciąża serwera, czy ilość zapytań jaką wykonuje skrypt nie jest za duża. Ja nieco pomogę w tym zadaniu.

Czego potrzeba?

  • Chęci
  • Trochę własnej wiedzy
  • Serwera z obsługą PHP (bo bez tego ani rusz)

Mając takie rzeczy spokojnie możemy przejść do następnego punktu

Co i gdzie dodać?

  1. function stime(){
  2. $time = explode(" ", microtime());
  3. $a = (double)$time[0];
  4. $b = (double)$time[1];
  5. return $a + $b;
  6. }
  1. function query($query){
  2. global $count;
  3. $count ? $count += 1 : $count = 1;
  4. return mysql_query($query);
  5. }

Te oto 2 funkcje należy (a raczej powinno się dodać na samym początku gdyż pomiar czasu powinien być od samego początku skryptu. Dokładną instrukcje jak dodać umieszczam w kodzie poniżej (w komentarzach)

  1. $start = stime(); // na początku zaraz po zadeklarowaniu funkcji
  2. $koniec = stime(); // a te 3 linijki na końcu skryptu
  3.  $ile = $koniec - $start;
  4.  echo 'Wygenerowano w '. substr($ile, 0, 5) .' sek. || '. $count .' zapytań do MySQL';

Dzięki takiemu zabiegowi wyświetli nam się tekst w ile sekund wygenerowano stronę oraz ile wykonano zapytań (czas zapytań to już bardziej obszerny temat Ale jak chcecie to macie.

  1. function query($query){
  2. global $count, $qtime;
  3. $count ? $count += 1 : $count = 1;
  4. $s = stime();
  5. $ret = mysql_query($query);
  6. $k = stime();
  7. $qtime ? $qtime += ($k - $s) : $qtime = ($k - $s);
  8. return $ret;
  9. }

funkcją możemy zastąpić wcześniejszą query. $qtime jest czasem w sekundach jaki był potrzebny do wykonania zapytań do bazy. Nie chce mi się poprawiać tamtego kodu (tego co gdzie wstawić) więc popraw sobie sam


 

Mam nadzieję, że ktoś na tym skorzysta. Jak się podoba to zostaw komentarz


Zobacz również

Nic nie pasuje? Polecam użyć wyszukiwarki na górze strony.

Wróć

Komentarze

Grzegorz Łuszczek pisze:
Nikt jeszcze nie napisał komentarza do tego wpisu, może Ty będziesz pierwszy?

Dodaj komentarz

Nick:
Jak mia� na imi� Juliusz S�owacki?:
0.102