pieto
31.07.2007, 20:43:46
Witam,
Potrzebuje zoptymalizowac skrypty odpowiadajace za wyswietlanie tresci na mojej stronie bo juz serwer nie wydala.
I tak:
w bazie mam 100.000 rekordow (artykulow) w formacie wiki przy kazdym odswierzeniu strony calosc sklada sie do kupy w locie, wewnatrz tych artykulow sa linki (nie ktore frazy) ktore musze sprawdzic i podstawic odpowiednie css'y
Czyli przy kazdym odswierzeniu artykulu robi sie ok 20 do 50 zapytan, i tu wymyslielem aby wynik zapisywac do cachu - logiczne tylko pytanie zasadnicze czy do tej samej tablicy sql ? czy wielkosc samych rekordow (nie ilosc) ma wplyw na czas pobrania danych ?
czy lepiej zapisywac do plikow ?
(wygodniej mi w bazie)
z gory dzieki za info
SongoQ
31.07.2007, 21:57:48
Jest wiele mozliwosci, wszystko zalezy czym dysponujesz. Bazka jak wiadomo - polaczenie najgorsze, plik - odczyt wersji tekstowej - szybko. Mozesz rozniez zrobic taki bajer (kiedys takie cos robilem) ze na operacje DML ladujesz do tabeli cache w MySQL zeby przyspieszyc mozesz wrzucic do tabeli w RAM (MEMORY) i wyciagac. Jesli chesz to osiagnac bez przerobek w kodzie (PHP) to najlepiej wszystko oprzec na triggerach i zapisywac do tabeli. W przypadku MEMORY pamietaj o mechanizmi ktory odbuduje wszystkie dokumentu po restarcie maszyny.
pieto
2.08.2007, 16:29:11
a jeszcze takie pytanie,
Czy jesli w katalogu bede mial mln plikow to wczytanie konkretnego do zminnej bedzie trwalo dluzej niz jak bym mnial 10 plikow ? (SuSe)
SongoQ
2.08.2007, 20:14:59
Tak ograniczenie jest do liczby plikow (potem strasznie dlugo to trwa). Ale co i jak to nie wiem, musisz szukac gdzies w architekturze linuxa.
ElemenT
3.08.2007, 11:53:25
ja mam taki mechanizm
jest jeden katalog z cache czyszczony raz dziennie
wygenerowanie strony jednej (atrykulu) to okolo 15 zapytan
po wygenerowaniu samego artykulu zapisuje go do pliku oraz zapisuje date ostatniego zapisu pliku w bazie
przy nastepnym wejsciu sprawdzam 1 zapytaniem date wygenerowania, jak jest mniejsza niz czas zadany odswiezenia - np 30 min to leci z pliku, jak nie to generuje sie jeszcze raz (lub jak bylo uaktualnienie artykulu)
wszystko
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.