PHP Flush: Milyen gyakran és a legjobb gyakorlatok

szavazat
23

Épp most fejeztem be az olvasást ezt a bejegyzést: https://developer.yahoo.com/performance/rules.html#flush és már végrehajtott egy flush után a felső részét oldalam terhelések (fej, css, top banner / search / nav) .

Van olyan teljesítményt találatot öblítő? Van olyan dolog, mint csinálja túl gyakran? Melyek a legjobb gyakorlatok?

Ha elmegyek a hit külső API adatok lenne értelme, hogy flush előtte úgy, hogy a felhasználó nem vár, hogy az adatok, hogy jöjjön vissza, és legalább egy kis adatot, mielőtt kezét?

A kérdést 09/12/2008 14:51
a forrás felhasználó
Más nyelveken...                            


4 válasz

szavazat
19

A leírt módszer jól néz ki, de számos olyan buktatókat:

1) közötti időt PHP script kezdete és vége képest alacsony átviteli időt; is, ez elmenti a felhasználó körülbelül 0,5 másodperc alatt szerint a forrás. Ez egy jelentős mennyiségű időt az Ön számára?

2) ez a módszer nem működik gzip kimeneti pufferelés

3) ha flush túl gyakran, akkor küld egy majdnem üres csomagot flush, ami valóban növeli a letöltési idő (lassú, zajos kapcsolatok).

4) ha flush, akkor nem küld több fejlécet

5) (kisebb probléma) a szerver jön chunked kódolást, ami azt jelenti, hogy az ügyfél nem fogja tudni a méretét előre (tehát nem fog megjelenni „x% kész”, ha egy fájl letöltése).

Másrészt, ha elvárják a szkript fut egy loooong idő (20+ másodperc), szükség lehet küldeni néhány adatot (terek, például), hogy a böngésző időzítés ki a kapcsolatot.

Válaszolt 09/12/2008 15:10
a forrás felhasználó

szavazat
5

Le oldala az, hogy nem gzip a tartalom, valamint a lehúzza azt AFAIK, úgyhogy mindig előnyben gzip helyett flush.

Egyes verziói a Microsoft Internet Explorer csak akkor indul az oldal megjelenítéséhez után kaptak 256 bájt kimenet, így előfordulhat, hogy küldjön üres területet, mielőtt kipirulás, hogy azok a böngészők az oldal megjelenítéséhez.

Emiatt ez nem ötlet, mint amilyennek látszik padding több adat nem túl hasznos.

Válaszolt 09/12/2008 14:58
a forrás felhasználó

szavazat
3

Azt hiszem, flush valóban finomhangolás mechanizmus. Böngészők kizárólag körülbelül 8 szál letölthető tartalommal (attól függ, hogy a böngésző). Ha van 15 kép, a böngésző elkezdi letölteni 8 képek, és nem lehet letölteni semmit mást, amíg az egyikük befejezi, akkor elkezdi letölteni a következő kép, stb öblítéssel után a fejléc, akkor alapvetően mondja a böngésző milyen el lehet kezdeni a letöltést. Mire a többi oldal szállítják (azaz 0,5 másodperccel később), a böngésző is már befejezte a letöltést a CSS és a JavaScript fájlokat. Ez szabadít fel letöltési szálak egyéb tartalmak.

Valószínűleg nem akarja használni flush bármely más helyen, mint rögtön a fejléc. A böngésző általában nem teszi lezáratlan HTML, így nyilvánított részleges oldalon nem jeleníti meg a dolgokat gyorsabb. Régebbi verziói IE nem jelenik meg semmi egyáltalán, amíg egy bizonyos mennyiségű adat érkezik, vagy az oldal kézbesítés befejeződött.

Válaszolt 30/03/2010 14:11
a forrás felhasználó

szavazat
2

Követve Piskvor szempontjából - ha számít a 20-as + várni, akkor lehet, hogy jobb, hogy egy alap oldal (amely lehet tömörített), és Ajax frissítse az oldalt, amikor a lassú folyamat befejeződött. Ugye kezd sértik az alapvető hasznosságát statikus html, mégis.

Válaszolt 09/12/2008 15:17
a forrás felhasználó

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