Autor | Zpráva | ||
---|---|---|---|
Werewolf Profil |
#1 · Zasláno: 25. 10. 2009, 07:58:04 · Upravil/a: Werewolf
Zdravím.
Mám zapeklitý dotaz o rychlosti. Prosím neříkejte, že je to jedno. Vím, že filesystem je (15 - 20x) rychlejší než MySQL, ale o všem ostatním nemám ani páru... Takže.... Je rychlejší: (1) Používat MySQL a serializovat data, která tam musím ukládat (2) Používat MySQL a ukládat tam XML, která protáhnu simplexml_load_string (3) Používat filesystem a ukládat soubory se serializovanými daty (4) Používat filesystem a ukládat soubory v XML, která protáhnu simplexml_load_string nebo simplexml_load_file Díky za jakoukoliv radu |
||
Mastodont Profil |
#2 · Zasláno: 25. 10. 2009, 08:12:48
Prosím neříkejte, že je to jedno
Jedno to není, ale ty chceš honit milisekundy a přitom ti klidně utečou desetiny sekund. Správná odpověď zní: kešuj data na úrovni serveru (memcached) a kód urychluj pomocí opcode keše (APC, eAccelerator). |
||
Werewolf Profil |
#3 · Zasláno: 25. 10. 2009, 08:15:19 · Upravil/a: Werewolf
Mastodont:
Prosím Tě, ujasni mi to kešování na úrovni serveru. O tom jsem ještě neslyšel. Mimochodem, test hlásil, že během minuty se do db uložilo asi 45000 řádků a do souboru asi 950000. Není to znát? Edit: Narazil jsem na problém XML: Co když si uživatel uloží do poznámky třeba <b>Ahoj!</b>? Potom bude $xml->note obsahovat SimpleXMLElement ( ['b'] => 'Ahoj!' ) a $xml->note->b bude obsahovat Ahoj!. Je strip_tags na místě? |
||
Mastodont Profil |
#4 · Zasláno: 25. 10. 2009, 08:22:52
kešování na úrovni serveru = libovolné řešení, které ukládá data do RAM, kde mohou přežít mezi jednotlivými požadavky; prakticky vždy rychlejší než cokoli jiného; problém je samozřejmě v tom, že to hosting musí nabízet
|
||
Werewolf Profil |
#5 · Zasláno: 25. 10. 2009, 08:24:52
Mastodont:
Samozřejmě... A rozdíl mezi db a filesystemem opravdu není znát? |
||
Mastodont Profil |
#6 · Zasláno: 25. 10. 2009, 08:40:16 · Upravil/a: Mastodont
A rozdíl mezi db a filesystemem opravdu není znát?
Ale ano, znát je, ale nedá se říci paušálně, že tam je nějaký iks násobek - DB může být na stejném počítači jako web server nebo ne, může mít zapnutou keš dotazů a nemusí, u filesystému zase záleží na tom, jak jsou rychlé disky, jak je rychlé diskové pole ... během minuty se do db uložilo asi 45000 řádků a do souboru asi 950000 Jenže to je ukládání, předpokládám, že tabulky v DB mají nastaveny indexy a ty se při ukládání musejí aktualizovat a to zabírá dost času ... |
||
Werewolf Profil |
#7 · Zasláno: 25. 10. 2009, 08:47:56
Mastodont:
Takže filesystem je rychlejší? |
||
Nox Profil |
#8 · Zasláno: 25. 10. 2009, 10:33:41
Werewolf:
Myslim že už odepisoval v minulém příspěvku ... ...ono ani nejde paušáně říct, že s cachováním je to rychlejší, někdy to může být dokonce pomalejší, ale to budou asi spíš výjimky viz: http://www.mysqlperformanceblog.com/2009/10/15/mysql-memcached-or-nosql-tokyo-tyrant-part-1 „Prosím Tě, ujasni mi to kešování na úrovni serveru. O tom jsem ještě neslyšel.“ ...např. http://cz2.php.net/manual/en/book.memcached.php http://cz2.php.net/manual/en/book.apc.php |
||
Časová prodleva: 15 let
|
0