Je to šílené nespoléhá na cache systému, jako Memcached dnes (pro dynamické stránky)?

hlasů
2

Jen jsem přezkoumání jednu z aplikací mého klienta, který používá nějaký starý zastaralé php rámce, který nespoléhá na cache vůbec a je do značné míry zcela závislá databáze.

Počítám, budu ji přepsat od nuly, protože je to opravdu zastaralé a v tomto přepisu chci realizovat cache systému. Bylo by hezké, kdybych mohl dostat několik rad, jestli někdo udělal před.

  • Přepsání bude probíhat buď PHP nebo Python
  • By bylo hezké, kdybych mohl profil před a po této implementace
  • Mám svůj vlastní server, takže nejsem omezena sdílený hosting
Položena 27/08/2009 v 04:57
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
9

Caching, když to funguje hned (== vysokou rychlost HIT), je jedním z mála univerzálních technik, které mohou skutečně pomoci s latencí - tvrdší část problémů obecně popisuje jako „výkon“. Můžete zvýšit QPS (dotazů za sekundu) opatření výkonu právě tím, že vrhne další hardware na problém - ale latence nefunguje tímto způsobem (tedy nebere jen jeden měsíc učinit děti, pokud nastavíte devět matek pracovat na tom ;-).

Nicméně, hlavní zdroj používaný do mezipaměti je typicky paměť (RAM nebo disk, jak to může být). Jak jste zmínil v komentáři, že jediným problémem výkon budete dodržovat je využití paměti, cache nepomůže: že by jen vyčlenit určitou část paměti použít pro účely ukládání do mezipaměti, takže ještě méně k dispozici jako „všeobecného fondu“. Jako rezident Kalifornie jsem svědkem z první ruky, co se stane, když jsou příliš mnoho prostředků vyčleněno, a takový postup bych nemohl doporučit s klidným svědomím! -)

Odpovězeno 27/08/2009 v 05:18
zdroj uživatelem

hlasů
6

Pokud váš výkon web je v pořádku, pak není důvod přidávat do mezipaměti. Spousta míst může dostat bez vyrovnávací paměti vůbec, nebo se stěhují do vyrovnávací paměti založené na systému souborů. Je to jen o mimořádně vysoké návštěvnosti stránek, které potřebují Memcached.

Co je „blázen“ je kód, architektura (nebo nedostatek architektury), který umožňuje přidání do mezipaměti ve druhé obtížné.

Odpovězeno 27/08/2009 v 05:08
zdroj uživatelem

hlasů
3

Vzhledem k tomu, Python je jednou z možností, bych jít s Django. Vestavěné cache mechanismus, a já jsem byl s použitím tohoto debug_toolbar , aby mi pomohl při vývoji / profilování.

Mimochodem, Memcached to nebude fungovat tak, jak jste je popsáno. Mapuje jedinečné klíče hodnoty v paměti, to nemá nic společného s .csh souborů nebo databázových dotazů. Co budete ukládat v hodnotě je to, co se děje, které mají být ukládány do mezipaměti.

Oh, a caching je jen stojí za to, pokud existují (nebo bude), problémy s výkonem. Na tom není nic „nespoléhat“ s cache, pokud nepotřebujete to špatně. Předčasné optimalizace je 99% zlé!

Odpovězeno 27/08/2009 v 05:06
zdroj uživatelem

hlasů
0

V závislosti na konkrétní povaze codebase a dopravních modelů, nemusíte ani potřeba přepsat celý web. Strašně neefektivní kód není tak velký problém, pokud to lze obejít pomocí vyrovnávací paměti na 99,9% z požadavků na stránky.

Při výběru PHP nebo Python, ujistěte se, zjistit, kde se chystáte hostit stránky (nebo chcete-li dokonce získat, aby to volání). Mnoho mých klientů jsou již nastavena na webový server a Python není řešením. Také byste se měli ujistit všechny databáze / externí programy, které chcete propojit s jsou dobře podporovány v PHP nebo Python.

Odpovězeno 27/08/2009 v 05:34
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more