Post
#1
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Od dawna stosowane są mechanizmy służące do zapisywania wyników z bazy danych w plikach tekstowych, w celu przyspieszenie pracy skryptów (cash). I jest to całkiem logiczne, szczególnie w przypadku bardziej złożonych zapytań.
Jednak ostatnio, chyba wraz z pojawieniem się najnowszej wersji xmb_forum (Partagium) zwróciłem uwagę na nową tendencję: zastępowanie plików tekstowych bazą danych. W forum tym wszystkie pliki szablonów (templates) zostały umieszczone w bazie. I przyznam się szczerze, że mocno mnie to zaskoczyło. Bo choć do zalet stosowania zapisu w bazie chyba nikogo nie trzeba przekonywać (łatwość w aktualizacji, katalogowaniu, brak problemów z nadawaniem CHMOD itp.) to jednak przekonany byłem, że rozwiązanie takie musi być o wiele wolniejsze. Skłoniło mnie to do przeprowadzenia serii testów. Umieszczam tu kilka z wyników, które mam nadzieję skłonią Was do zastanowienie się nad tym tematem. Wszystkie zostały wykonane przy pomocy malutkiego skryptu zapisującego i przeliczającego wyniki, który można ściągnąć stąd: www.mStudio.nQ.pl/download/scrypty/czas/czas.zip na Windows XP, z Apachem 1,3, php 4.3 oraz MySQL 3.23 A tu jest przykład kodu testów A1. wyświetlamy zawartość małego pliku (1,4 KB) z pliku tekstowego (wyniki w sekundach): Cytat Ilość prób=20
A2. Ten sam tekst z bazy MySQL zawierającej tylko ten jeden rekord:średni czas = 0.00299039483070 max czas=0.0046200752; min_czas= 0.0020439625 suma = 0.0598078966 Cytat Ilość prób=20
A3. Taki sam tekst, lecz z tabeli zawierającej około 200 rekordów
średni czas = 0.00293679833412 (mniej niż z pliku !) max czas=0.0047850609; min_czas= 0.0023930073 suma = 0.0587359667 Cytat Ilość prób=20
średni czas = 0.00319704413414 max czas=0.0045739412 min_czas= 0.0025489330 suma = 0.0639408827 ----------------------------- B1. wyświetlamy zawartość pliku (61 KB) z pliku tekstowego (wyniki w sekundach): Cytat Ilość prób=20
B2. Ten sam tekst z bazy MySQL zawierającej tylko ten jeden rekord:
średni czas = 0. 07095720171928 max czas=0. 1114130020; min_czas= 0. 0573480129 suma = 1. 4191440344 Cytat Ilość prób=20
B3. Taki sam tekst, lecz z tabeli zawierającej około 200 rekordów
średni czas = 0. 09079620242119 max czas=0. 1551539898; min_czas= 0. 0670330524 suma = 1. 8159240484 Cytat Ilość prób=20
Podsumowanie:
średni czas = 0. 08866938948631 max czas=0. 1459870338 min_czas= 0. 0688790083 suma = 1. 7733877897 Pliki rzeczywiście zazwyczaj są szybsze, ale nie tak bardzo, jak by się mogło wydawać. Zaskakujące efekty dało również porównanie wyników MySQL. Okazało się, że wielkość bazy (przynajmniej w porównaniu 1-200) nie ma wpływu na prędkość wykonywania zapytań. Czasami wręcz (sic!) większa baza jest szybsza... Co o tym sądzicie? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin |
Jezeli chodzi o mnie to ja zawsze bylem bazodanowcem i wszystko pakowalem w baze. mySQL daje to czego z txt nie osiągniesz - dane statystyczne - praca z baza z zalozenia jest znacznie latwiejsza.
Szybkosc otwierania strony to jeden z glownych czynnikow na ktory zwraca uwage uzytkownik internetu. I w momencie kiedy mySQL szwankuje na serverze to czas otwierania strony moze maaaaxymalnie sie zwiekszyc. Dzis mialem ta przykrosc na home.pl (wielki dostawca ale mySQL szwankuje tam juz od tygodnia). Konczac jestem zawsze i wszedzie za baza danych .... Pozdrawiam |
|
|
|
DeyV Need for Speed, czyli rozważania dotyczące prędkości 27.01.2003, 15:54:08
scanner Odkąd przerzucilem sie z plików na BD, to nie mam ... 29.01.2003, 12:03:36
DeyV Jednak pojawia się pytanie: Jak daleko się posuwać... 29.01.2003, 12:21:59
kurtz Re: Need for Speed, czyli rozważania dotyczące prędkości 29.01.2003, 12:32:32
dragossani Prędkość liniowego odczytu danych z bazy jest zwyk... 29.01.2003, 13:29:53
Seth A co sadzicie o XMLu jako pewnym zamienniku bazy d... 2.02.2003, 13:17:22
dragossani Od biedy można spróbować posłużyć się XML'em jako ... 3.02.2003, 11:52:54
Seth Czyli XML tylko jako wzorzec ? 3.02.2003, 12:56:08
dragossani No, powiedzmy jako źródło informacji na poziomie s... 4.02.2003, 14:21:55
Seth juz rozumiem 4.02.2003, 15:51:44
Mati ... 14.02.2003, 01:48:37
Picia Bazy pliki i inne... 17.07.2003, 17:51:34
Omega W sumie pliki są bardziej powszechne... W necie o ... 17.07.2003, 17:59:34
e-Gandalf Re: Bazy pliki i inne... 17.07.2003, 18:44:55
Omega Z tego co wiem płatna licencja jest potrzebna gdy ... 17.07.2003, 19:16:56
Picia Licencja i Widoki 17.07.2003, 19:17:14
borec ja tam jestem za mysql
po 1. 0.001 sek to dla mni... 19.07.2003, 12:33:01
e-Gandalf Cytatpo 3. jak sie ma szybkiego serwa to tylko wyg... 19.07.2003, 12:41:43
squid CytatJednak pojawia się pytanie: Jak daleko się po... 19.07.2003, 14:45:15
Omega Pliki są wygodniejsze nie tylko dla mn iejszych st... 20.07.2003, 14:24:47
lewal cale rozwazania tocza sie nad przewaga plikow nad ... 23.10.2003, 02:12:10
msulik Jaką pamięć masz na myśli? Mówisz o shared memory ... 12.11.2003, 00:52:12
DaNTe CytatZ tego co wiem płatna licencja jest potrzebna... 18.02.2004, 23:43:33
dooshek Z MySQLem jest tak, ze tak na prawde jest bardzo w... 19.02.2004, 22:52:31
enceladus Z doświadczenia polecam stosowanie squid-a w roli ... 20.02.2004, 00:14:10
halfik CytatZ MySQLem jest tak, ze tak na prawde jest bar... 25.02.2004, 15:46:29
RoVeR Ja używam plikuw *.php jako bazy i mam to co z txt... 26.02.2004, 07:27:32
halfik CytatJa używam plikuw *.php jako bazy i mam to co ... 28.02.2004, 12:19:49
bamboos Witam!!
Ja na serverze nie mam dostępu do bazy dan... 28.02.2004, 13:05:01
enceladus Tak wlasnie sobie to czytam i pomyslalem że cała d... 28.02.2004, 13:11:01
bigZbig Powtorze za poprzednikiem, że nie ma sensu prowadz... 26.08.2004, 14:52:19
ActivePlayer Pisalem ostatnio database_layer z automatyczną obs... 28.08.2004, 00:02:29
squid Cytat(bigZbig @ 2004-08-26 15:52:19)Natomiast... 11.09.2004, 12:03:55
Vertical W bazie po prostu piszesz zapytanie, a baza zwraca... 28.09.2004, 09:56:59
Krolik CytatCytat
Z MySQLem jest tak, ze tak na prawde je... 22.11.2004, 11:10:44
awides mysql -> dane
pliki cache -> buforowanie 22.11.2004, 23:02:01
ShaXbee To mój pierwszy post na Forum php Pro. Oby wyszedł... 19.01.2005, 22:22:11
bela_666 Cytat[Error : Błąd]
[404] File Not Found : Plik n... 20.01.2005, 00:43:12
hawk Pomijając prostą kwestię istnienia lub nie istnien... 20.01.2005, 09:05:31
ShaXbee I tu tkwi problem. Uzywam PHP5 i SimpleXML. Nieste... 20.01.2005, 13:12:52
hawk Co do SimpleXML: to jest znany bug php. Workaround... 20.01.2005, 14:37:55
bela_666 Cytat(hawk @ 2005-01-20 14:37:55)Co do shm: a... 20.01.2005, 15:18:21
hawk System plików siedzący w pamięci. Link: http://www... 20.01.2005, 17:35:11
Krolik Linux automatycznie cache'uje pliki w pamieci.... 21.01.2005, 13:46:16
squid MySQL i pewnie inne bazy ma typ tabeli ktora przet... 21.01.2005, 23:19:45
NuLL IMHO - dyskusja lekko pozbawiona sensu - trzebaby ... 22.01.2005, 17:29:25
awides @squid chodzi ci pewnie o HEAP, jest jeden problem... 23.01.2005, 09:40:36
NuLL Trochę odgrzeje jeśli można
Co jest lepsze czyst... 8.06.2005, 22:52:45
bela_666 Hwao gdzieś benchmark zrobił, poszukaj 8.06.2005, 23:22:53
chmolu W moich testach zapisywanie zawartości pliku ini j... 9.06.2005, 05:23:56
NuLL Dzięki - u mnie też tak wynikło choć trochę nie ch... 9.06.2005, 17:08:10 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 21:43 |