hız, optimizasyon: dosya değilseSymfony'nin - yanıtı görüntü - benim denetleyicisi dinamik grafik oluşturmak
var (benzersiz dosya adı) daha sonra grafik oluşturmak ve ona
dönüş RedirectResponse kaydetmek ($ uRL)
(3. Ayrıca denedim:
$fp = fopen($url, "rb");
$str = stream_get_contents($fp);
fclose($fp);
$response = new Response($str, 200);
$response->headers->set('Content-Type', 'image/png');
return $response;
)
Kullanıcılar için dinamik olarak kullanıcı çubukları oluşturmak için buna ihtiyacım var [bu grafikte bazı web sitelerinde bazı değişiklikler yapılması durumunda metin otomatik olarak güncellenecektir].
Bu komut dosyasının hızlı çalıştığı ve sunucum/bandwitch'imi öldürmediği benim için önemli. Bunu başarmak için, oluşturulan tüm grafiklerin saklandığı önbellek yaptım. Ama hız ile ilgili bir sorunum var, yukarıda tarif ettiğim çözümler oldukça yavaştır, bunu geliştirici aracıyla (F12) kromda test ettiğimde her iki çözümün de (2 ve 3) olduğunu gösterir. ~ 1s hakkında (aynı grafikler [kontrolörsüz vb. sadece .png doğrudan url] 44ms yükler).
Sadece benim için grafik başına yaklaşık 1 saniye sürüyorsa, örneğin 1000 kullanıcı aynı zamanda bu grafiği üretecekse web sitemi yavaşlatabilir diye düşünüyorum.
Lütfen yardım edin, bunu yapmanın daha hızlı yollarını biliyor musunuz?
PS. Yönlendirme benim için en çok arzulanan şey değildir, çünkü url'yi olduğu gibi bırakmayı tercih ederim, örneğin smth/username/userbar/smth/img/userbars/cache/blabla.png. Ama eğer çok daha hızlı olursa o zaman dayanabilirim :).
DÜZENLENMESİ: Açık olmak gerekirse: Ben görüntüleri önbelleğe almak için bir çözüm aramıyorum, benim sorun şu ki, örneğin
örneğinde kullanıyorsanız, denetleyici aracılığıyla görüntüleri (zaten oluşturulan görüntüler, sadece ftp'den) yaklaşık 1 saniye süreryaklaşık 44 ms sürer.
"grafikleri göstermek için HTML/CSS kullanmaktır" ne demek istiyorsun? Bunu göremiyorum çünkü veri tabanından bazı istatistikler almak için ilk önce ihtiyacım var, bu yüzden Denetleyiciden geçmeyi tercih ederim. Sanırım bir görüntü bu görüntüyü döndürüyor (yaklaşık 800 ms süren stream_get_contents veya yönlendirme kullanarak). Bu arada, belki tamamen yanlışım ve çözümüm o kadar da kötü değil? Yalnızca kullanıcı için görüntü yüklemeyi etkilerse ve sunucuyu olduğu gibi düşürebileceğinden daha yavaş olmaz mı? Gördüğünüz gibi, oluşturulan görüntüleri depolamaya odaklandınız, ama gerçek bir problem bu imajı geri döndürüyor :). –
Yukarıda yazdığım bu zamanlar, önbellekten görüntüleri yükleme anlamına gelir. Denetleyiciyle ftp'den oluşturulmuş görüntüyü yaklaşık 1 sn alır ve bunu geliştirmek isterim. –
Öneri için teşekkürler, test ettim ve genelde o kadar da kötü değil. Ayrı ayrı grafik oluşturduğumda, yalnızca yaklaşık 150ms yükler (yönlendirme veya stream_get_contents ile farketmez) bu yüzden o kadar da kötü değil. Doğrudan yükleme yaklaşık 32ms'dir, ancak dosya olup olmadığını kontrol et, veri tabanından bilgi al ve grafik al, bu yüzden iyi görünüyor. –