Strategie komprese v PHP a případná podpora v Nette
- Ragnar
- Člen | 13
Budeme provozovat PHP aplikaci na Windows Azure, tzn. jako server bude IIS. Jelikož platíme za objem dat, uvažujeme o použití komprese na vše možné…
GZipem bychom rádi komprimovali veškerý provoz. Máte někdo zkušenosti s tím, jakou zátěž to vytváří na server? Ušetřit na datech a připlatit si na výpočetním čase serveru by bylo z deště pod okap.
Rád bych komprimoval i binární data ukládaná do Azure úložiště, ale na to pravděpodobně bude potřeba vytvořit nějakou strategii. Komprimace velkých objemů dat asi bude náročná a proto by bylo lepší komprimovat jen to, co leží ladem a objekty s častým r/w nechat být.
Má Nette nějaké vlastnosti nebo pluginy, které by s kompresí pracovaly nebo ji usnadňovaly?
- mcmatak
- Člen | 504
a ty myslíš, že php bude spotřebovávat méně?
nepoužívám nic speciálního, a moc si nedokážu představit co se skrývá pod bufferovaním výstupu, to jako, že nesmím flushovat? hmm proč bych to dělal
nemám zkušenost s výkonem, ale dost jsem ho řešil a člověk co mi spravuje server ani neřešil, že gzip by měl být nějaké omezení, na druhou stranu kolik operací za sekundu tam proběhne, že zrovna gzip by měl vliv? kolikrát za „ms“ bude ta mašina gzipovat, ale je fakt že nevím jak je výpočetní čas naceněn, jaký máte teda tarif? platíte za traffic? to platíte i za traffic do úložiště?
- Ragnar
- Člen | 13
normálně by mělo php fungovat tak že postupně posílá výstup jak jej generuje… při bufferování se však výstup ukládá do mezipaměti a po zavolání flush se gzipuje a pošle klientovi
pokud to nijak výrazně nezvýší výkon tak je to super. Platíme za výkon virtuálních strojů (vždy souběžně minimálně dva, takže máme distribuované prostředí) a tam je to placeno hodinově a odstupňováno podle výkonu požadované konfigurace. Pro zvýšení celkového výkonu je potřeby koupit silnější virtuální stroje nebo jich koupit větší množství. Jinak platíme za transakce (po tisících) a uložená a odesílané data do a z cloudu (po gigabajtech)
pokud vím tak v ČR budeme první s PHP a s Nette, kdo běží na Windows Azure
- mcmatak
- Člen | 504
jeste se mi nestalo, aby php flushovalo driv nez naplni buffer, možná je to nastavením serveru, ale pokud chci jakoukoli část poslat na výstup před dokončením skriptu musím flushovat
ja věřím, že na výkon stroje to nebude mít vliv, rozhodně ne takový, aby bylo nutné posilovat stroj
a první na win azure hmm, co že to na tom pojede?
- Ragnar
- Člen | 13
pravděpodobně je to závislé na nastavení serveru, ale pokud si pamatuji z dob, kdy jsem se učil php, tak samotné php by mělo všechno posílat okamžitě… jestli si to server někam ukládá a čeká až je ukončený celý požadavek nevím
projekt by měl být spuštěn v průběhu února, tak musíte chvíli počkat, určitě se s tím zde pochlubíme :)