Autor Zpráva
Werewolf
Profil
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
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
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
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
Mastodont:
Samozřejmě...

A rozdíl mezi db a filesystemem opravdu není znát?
Mastodont
Profil
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
Mastodont:
Takže filesystem je rychlejší?
Nox
Profil
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: