PHP Session vs Cookie ile sayfa yükleme süresi

3 Cevap php

Ben bir sosyal ağ tipi sitesi (üye sitesi) Ben adı gibi kullanıcı verilerinin bir çok mağaza var, kullanıcı DB sorgularının kestirmeniz azaltmak için açan bir kullanıcı oturumuna kullanıcı kimliği numarası, e-posta, isim, fotoğraf URL, sayfa başına. Ben bazen kullanıcı adı / parola ancak mu için temel soru, bir çerez sayfa yükleme süresini yavaşlatabilir yok edilir çerezler asla kullanılmamalıdır gerçekleştirmek, insanlar bazı şeyler için çerezleri kullanarak bahsedildiğini duydum? Bir kullanıcının ana sayfasında bir kullanıcı yeniden düzenlemek orada anasayfa, ben bir tanımlama blokların konumu saklanan benim ilk sürümü için sürükle ve bırak ki blokları var, ben şimdi mysql bu değeri depolamak ve bloğun yerleri inşa yerine ilk konumlarını ayarlamak için javascript kullanarak sayfa yük php. Ben ilk sayfa yük olurdu ama orada konumlarını ayarlamak için çerezleri kullanılan ve bloklar orada orijinal bir konumda olacağını zaman, sayfa o gerçekten çok hızlı ancak bu çok fazla oldu, bu çerez aldım değeri bu blokların yerini değiştirmek istiyorum yavaş ve sayfayı yapılan yüklemek için gerçekten yavaş görünüyor. Ben her zaman kurabiye o zamandan beri yavaş sanıyordum ama belki onu yavaşladı çerez değildi.

Yani kurabiye bir sayfa yavaşlatabilir mi?

3 Cevap

Eğer doğru anlamak, size sayfa yavaş zaman olduğunu söyleyerek:

  • blokların pozisyonları tanımlama depolanmıştır
  • ve blokları sayfa yük Javascript positionned edildi

Ben "yavaş" bir parçası kurabiye gelmez düşünüyorum:

  • those are quite small, compared to the size of the page
    • evet, bazı yükü ekler, ancak tek bir sayfa için bu önemli değil
    • Eğer varlıklar (görüntüler, statik dosyaları, ...) bir sürü varsa onlar olsa, her isteği ile gönderilir gibi, daha önemli hale
  • onlar çok veri içermez


But, with that solution, what could cause an impression of slowness is that :

  • sayfa varsayılan konumlarında bloğu ile yüklenir
  • some JS code is executed to re-position the blocks
    • bloklar önce biraz bekleme anlamına gelir yeniden positionned edilir
    • JS kodu çalıştırmak için bazı işlem zaman alır
    • da demektir ki, tarayıcı için, sayfa birkaç kez yeniden çizim (bir şey değişir her zaman).


IMHO, what makes your page "faster" now is that the client receives the whole page with blocks already well positionned -- which means no processing at all on page load :-)

Küçük / eksik tanımlama küçük bir fark yaratmak ... ama küçük olabilir.


If you want to read more about cookies size and their impact on load-times, and some recommandations, you can read this article from Yahoo : Performance Research, Part 3: When the Cookie Crumbles ; it's a pretty interesting read, and not too hard to understand.

Çerez anahtar / değer çiftleri ile sadece ekstra bir HTTP başlığıdır. Bu başlık Ayrıştırma ve $ _COOKIE dizi doldurma (neredeyse kesinlikle bir darboğaz olacak değil) önemli ek yük katmıyor.

Eğer çerez (yani, sadece bir session id) içinde çok veri depolamak ediyorsanız, o zaman bu verileri etki, PHP sayfaları için değil, görüntüler için değil sadece, CSS, JS her isteği ile gönderilen alır hatırlamakta yarar var Bu nedenle, vb bir yüksek trafik sitede bu yükü etkisini azaltmak için farklı bir etki alanından servis edilecek bu "statik" elemanları için düzenlemek olabilir.

Bu çerez değeri bir oturum kimliği ise, PHP dosya sistemi, veritabanı veya $ _SESSION dizi doldurmak için diğer depolama mekanizması da, o oturumu almak gerekiyor. Bu biraz zaman ekleyebilirsiniz alabilir, ama gerçekten kullanılan mekanizma bağlıdır.

Çerez veriler her isteği ile gönderilmelidir olarak Çerezler hafifçe, sayfalarınız için yükleme süresini artıracaktır.

HTML sayfası için, bu kadar fark olmaz, ama (her zamanki gibi) aynı etki alanındaki tüm varlıkları varsa bu önemli bir fark kadar ekleyebilirsiniz.

Aslında PHP çerez okuma zaman gözle görülür miktarda almamalıdır.