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? |
|
|
|
DeyV Need for Speed, czyli rozważania dotyczące prędkości 27.01.2003, 15:54:08
It's_me Jezeli chodzi o mnie to ja zawsze bylem bazodanowc... 27.01.2003, 16:21:36
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: 24.12.2025 - 15:11 |