Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] read from fiile speed
Forum PHP.pl > Forum > PHP
Black-Berry
Dałoby się to jakoś przyspieszyć ? Za bardzo muli przy 1.000 plików 50ms.

  1. <?php            
  2. $folder = opendir($this->folder);
  3. while (($file = readdir($folder)) !== false) {
  4.    if ($file != '.' and $file != '..') {
  5.        //saving info about all sessions to a variable for other use...
  6.        $sessionFile = fopen($this->folder.$file, 'r');
  7.        $data = fread($sessionFile, filesize($this->folder.$file)+1);
  8.        $activesSessionsList[] = unserialize($data);
  9.        fclose($sessionFile);
  10.    }
  11. }
  12. closedir($folder);
  13. ?>


Może nie serializiwać albo inaczej odczytywać z pliku ? Czy to coś da ?
docent
Kilka pomysłow:

1. Zamiast opendir i while uzywaj iteratorow
2. zamiast fopen + filesize itd sprobuj $file = file('file.txt')...
3. daj sobie spokoj z tym serialize
4. a co cie boli 50ms..?
dr_bonzo
Eh, na baze sie przerzuc
Black-Berry
przerzuciłem. żal mi było 2 dodatkowych zapytań ale jakoś przebolałem już smile.gif

Cytat(docent @ 15.09.2008, 23:02:35 ) *
4. a co cie boli 50ms..?
Jak sie reszta cms'a renderuje w 50ms to dodatkowe 50 boli.
docent
hehe skoro zal Ci dodatowych zapytan to moze generuj raz dziennie milion wersji statycznych stron dla kazdego uzytkownika? nie bedziesz musial pozniej zbytnio obciazac bazy danych, mozesz je serwowac przez thttpd zamiast apache'a - no bajka Panie smile.gif

a powaznie - eaccelerator, memcached jak masz juz tak spore problemy.
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.