Görüntüleri yüklemek için çalışırken tarayıcı aşımından

1 Cevap php

Ben Kohana PHP çerçevesinde yazılmış benim uygulama tarafından oluşturulan yaklaşık 13 görüntüleri vardır bir webapp bir sayfa var. Görüntüler aslında grafikler vardır. Onlar bu yüzden sadece bir kez oluşturulur önbelleğe, ancak ilk kez kullanıcı sayfasını ziyaret ve görüntüleri tüm üretilmek zorunda, görüntülerin yaklaşık yarısı tarayıcıda yüklemeyin. Başarıyla sayfa kez talep edilmiş ve görüntüleri önbelleğe sonra, hepsi yük.

Ben tarayıcıda bağımsız bir görüntü yüklemek, bazı ad-hoc test yapıyor, boş bir önbellek (Google Chrome'un kaynak izleme özelliğini kullanarak bu kontrol) ile yüklemek için 450-700 ms sürer. Referans için, bir önbelleğe görüntüsünü yüklemek için yaklaşık 90-150 ms sürer.

Görüntü önbellek boş olsa bile ilk istekten sonra, bu verilerin hiçbiri getirilecek gerekiyor ki, ben, veri ve önbelleğe alınan uygulamanın başlangıç ​​bazı görevler var.

Benim sorular şunlardır:

  1. Neden yüklemek için başarısız görüntüler? Tarayıcı sadece oldukça hepsini yükleme bitirmek için beklemek yerine, belli bir noktadan sonra görüntü indirmek için değil karar gibi görünüyor.
  2. What can I do to get them to load the first time, with an empty cache?
    Obviously one option is to decrease the load times, and I could figure out how to do that by profiling the app, but are there other options?

Ben de belirtildiği gibi, app Kohana PHP çerçevesinde olduğunu ve Apache üzerinde çalışıyor. Bir kenara, ben en kısa sürede veriler mevcut olduğu gibi sayfa açılırken tarafından şimdi bu sorunu çözdük gibi görüntüler her kullanıcı bunları gördüğü zaman önbelleğe böylece, (bir toplu işlem geliyor). O da, benim için bir kludgey çözüm gibi hissediyor ve ben aslında neler oluyor merak ediyorum.


Edit: Bir yorumcu istek başlıklarını görmek istedi:

Request

Request URL: http://domain.com/charts/chart_name/1234/
Request Method: GET
Status Code: 200 OK

Request Headers

Cache-Control: max-age=0
Referer: http://domain.com/home/chart_page
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4

Response Headers

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: Keep-Alive
Content-Length: 6354
Content-Type: image/png
Date: Wed, 26 May 2010 21:10:45 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=15, max=94
Pragma: no-cache
Server: Apache
X-Powered-By: PHP/5.3.1

Görüntü önbelleğe sahip, cevap başlıklarında tek fark:

Content-Length: 1129
Keep-Alive:timeout=15, max=96

Bu aynı içeriği olması gerektiği gibi ben, içerik uzunluğu için garip farkı içine arıyorum. Ben bu görüntüyü önbelleğe tarayıcı alma açısından optimize değil olası olduğunu biliyoruz, ama görüntü bir kez üretildiğinde, (vb görüntüleri indirmek, komut dahil) tüm sayfa yükü yaklaşık 1-2 saniye sürer. Sunucuda önbelleğe görüntüler olmadan, sayfa yükleme 20-30'lu alıyor ve görüntülerin çeşitli tüm yüklemek için başarısız.

1 Cevap

Orada dosya boyutları tutarsızlık fark ettikten sonra, ben Kohana en profiler yanlış ayarlanmış olduğunu fark etti, böylece görüntülerin sonunda profil verilerinin bir demet çıkış oldu. Istek başına değil çok, ama bir bütün olarak, bu önemli bir fark yarattı. Görüntüleri tüm yükü artık.