Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Cache] Strona 10 k uniqów + potężny dedyk + cache = zamulanie ?
matix
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Witam.

Mam pewien problem, gdyż pracuję obecnie nad serwisem, który ma 10, 000 unikalnych wizyt dziennych (150 online). Nie jest to jakoś specjalnie dużo, ale wystarczyło, abym miał problem z jego optymalizacją. Jest to serwis z mp3 !

Obecnie serwis stoi na potężnym dedyku, bo aż 8 gb ram, inne parametry też tak samo potężne jak ten ram, ale...

Strona działa dobrze z wyjątkiem tego, że gdy wchodzę w podstronę, to ładuje się ona ~35 - 50 sekund.

Problem jest w tym, że baza danych ma około 500, 000 rekordów z piosenkami i ciągle się powiększa. Myślę, że dojdzie do miliona. Wszystko ładnie działa, wyniki wyszukiwania są zapisywane w cache i nie ma problemów. Gdy wybieram pojedyńczy utwór, aby go przesłuchać ładuje mi się akcja MORE w której jest mniej więcej taka budowa(mój własny framework, proszę nie krytykować. chodzi tylko o zaprezentowanie kodu):

  1. <?php
  2. function getMore($iKey)
  3. {
  4. $Name = 'moreinfo-'.$iKey;
  5. $oCache = new cache;
  6.  
  7. if ($oCache->expired($Name, 3600*24*7) || (!$oCache->ping($Name))):
  8.  
  9. $this->db->setWhere("id = '$iKey'");
  10.  
  11. $oCache->save($Name, $this->db->fetchOne(db::FETCH_ASSOC, $this->db->select('song', true)));
  12.  
  13. endif;
  14.  
  15. return $oCache->read($Name, true);
  16. }
  17. ?>


Oznacza to, że skrypt pobiera ID piosenki z linka i do zmiennej Name zapisuje np. moreinfo-6312, następnie sprawdza czy istnieje cache o danej nazwie lub czy w nie jest "przeterminowany" (raz na tydzień). Jeśli tak - pobiera dane z bazy danych. Zapytanie wygląda mniej więcej tak:

  1. SELECT * FROM song WHERE id = 6312


na końcu wyświetla dane z cache.

Nie wiem dlaczego, ale to mi obciąza baardzo serwis.
Moje przypuszczenia to, albo układ plików cache:

- app/cache/ : TUTAJ SĄ WSZYSTKIE PLIKI CACHE, NIE MA PODZIAŁÓW NA KATALOGU (SYSTEM DEBIAN 4 - ponoć może być milion plików i to nic nie zmienia)

albo ...

no nie wiem..
miał ktoś taki problem? z góry dzięki,
Matix.


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
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: 19.08.2025 - 17:10