Strategie komprese v PHP a případná podpora v Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Ragnar
Člen | 13
+
0
-

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
+
0
-

a já dosud věřil, že gzip probíhá na úrovni apache a to automaticky, alespoň u mne na serveru to tak funguje

natrim
Člen | 73
+
0
-

mcmatak napsal(a):

a já dosud věřil, že gzip probíhá na úrovni apache a to automaticky, alespoň u mne na serveru to tak funguje

to jen v případě že je nainstalovany a nastavený mod_deflate

Ragnar
Člen | 13
+
0
-

ano gzip by měl probíhat na úrovni apache (na úrovni php kódu je potřeba pouze použít bufferování výstupu), ale pořád i apache (nebo IIS) bude spotřebovávat nějaký výkon

mcmatak
Člen | 504
+
0
-

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ě?

mcmatak
Člen | 504
+
0
-

btw. používám systém, který gzipuje každý odkaz, neřešme proč, ale prostě úplně každý odkaz na stránce se gzipuje, tedy za cca sekundu proběhně třeba 1000–2000 gzipu stringu dlouhých asi 1000 znaků, s grafem cpu a ani s dalšími grafy to po nasazení ani nehlo

Ragnar
Člen | 13
+
0
-

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
+
0
-

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
+
0
-

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 :)

ic
Člen | 430
+
0
-

Ragnar napsal(a):

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 :)

Takže tak kolem Velikonoc se máme na co těšit?