Bu nesil kez php-mysql için kabul edilebilir?

5 Cevap php

Benim ilk büyük proje geliştirme sürecinde yaşıyorum. Bu hafif bir içerik yönetim sistemidir.

Ben proje için benim kendi çerçevesinin tüm geliştirdik. Ben birçok alevleri, ve bir kaç 'cik cik bulunuyor çekecek eminim, ama şimdiye kadar oldukça iyi yapıyor gibi görünüyor.

Ben 5-15 milisaniye her yerde sayfa nesil defa görüyorum. (Bir örnek, sadece benim numaraları, yanlış durumda, ,00997686386108 saniye).

Ben uygulama mümkün olduğunca verimli olduğundan emin olmak istiyorum. Benim test ortamında iyi görünüyor olsa da, ben gerçek dünyada mümkün olduğu kadar iyi bir performans emin olmak istiyorum.

Ben bu sayılar endişe olmalı - ve böylece, melodi MySQL ve onunla benim etkileşimi ince zaman?

Edit: Ayrıca, insanlar bir sistem doyurarak ve sonuçları raporlama için tavsiye bazı araçlar ya da yöntemler vardır?

Additional Info: Benim 'test' sistemi ben BlueHost at üzerinde sahip bir yedek web hosting hesabı. Dolayısıyla, ben (pozitif veya negatif) gördüğünüz herhangi bir performans ben 'gerçek dünya' görmek ne olacağını kabaca göstergesi olacağını hayal ediyorum.

5 Cevap

Lütfen test ortamında iyi performans iyi bir başlangıç, ama (zaten değil varsa) siz de düşünmek gerekir diğer konular var. İşte kafamın üst kapalı aklınıza gelebilecek bir çift:

  1. Veri boyutları arttıkça nasıl app yapmaz? Genellikle bir test ortamı çok az veri vardır. Veri dolu, vb kötü optimize sorgular, eksik indeksler, gibi şeyler onlar önce yoktu sorunlara neden başlar. Performans işler iyi tasarlanmış değilse veri boyutuna göre katlanarak düşmeye başlayabilir.

  2. Nasıl app yük altında performans gösteriyor? Bazen uygulamalar bir veya iki kullanıcı ile büyük gerçekleştirmek, ancak kaynak çekişme ya da eşzamanlılık sorunları kullanıcıların çok yer almak açılır başlar.

Sen 5-15 ms çok iyi yapıyoruz. Eğer olsa, throwing load at it bunu dışında herhangi bir yöntemle yük altında nasıl gerçekleştireceğini bilmek için gitmiyoruz.

Başka bir soru da belirttiğim gibi: Ne sık sık özledim en web siteleri kendi arka uç, onların frontend'i optimize ederek çok onların hızını değil artabileceğini, gerçektir. Bu bir göz superb list about speeding up your frontend @ yahoo.com:

  • HTTP İstekleri küçült
  • Bir İçerik Dağıtım Ağı kullanın
  • Bir Expires eklemek veya Cache-Control Header
  • Gzip Bileşenleri
  • Top az Modelidir koy
  • Alttan Script koy
  • CSS İfadeler kaçının
  • Yapmak JavaScript ve CSS Harici
  • DNS Lookups azaltın
  • Minify JavaScript ve CSS
  • Yeniden yönlendirmeleri önlemek
  • Yinelenen Scripts Kaldır
  • ETAG'ları yapılandırma
  • Ajax Cacheable olun
  • Tampon ERKEN yıkayın
  • AJAX Taleplerinin GET kullanın
  • Post-yük Bileşenleri
  • Preload Bileşenleri
  • DOM Elementlerin sayısı azaltın
  • Etki karşısında bölünmüş Bileşenleri
  • Iframe sayısı en aza indirmek
  • Hayır 404s
  • Çerez Boyutu azaltın
  • Bileşenler için Cookie ücretsiz Etki kullanın
  • DOM Erişim küçült
  • Akıllı Olay deste geliştirin
  • Seç < @ import fazla link>
  • Filtreler kaçının
  • Görüntüler Optimize
  • CSS Sprites Optimize
  • HTML Resim Ölçeği etmeyin
  • Yapmak favicon.ico Küçük ve Cacheable
  • 25K altında Bileşenleri tutun
  • Bir Multipart belgeye Pack Bileşenleri

5-15 milisaniye bir sayfa nesil zaman olarak tamamen kabul edilebilir. Ama en önemli sistem birçok kişi aynı anda içeriğine erişim ile ne kadar iyi performans olduğunu. Yani ağır bir yük altında sistemi test etmek gerekir, ve bu terazi ne kadar iyi bakın.

Ayarlama hakkında, akıllı önbellek ilkesi kurma veritabanı ve http sunucusu farklı makinelerde, özellikle, sık sık MySQL ayar daha verimlidir. Orada çok iyi Qs ve StackOverflow önbellek hakkında olduğu gibi, bu konu hakkında tavsiyelerde gerekiyorsa (I like that one, maybe because I wrote it :)

Bu, birkaç faktöre bağlıdır. En önemli site almak için bekliyorsanız ne kadar trafik olduğunu.

Siteniz oldukça düşük trafik (günlük belki 1.000.000 sayfa gösterimi - yaklaşık 11 saniyede bir ortalama) olacak ise, ince olmalıdır. Bunu test etmek isteyeceksiniz - paralel istekleri çok çalıştırmak için bir HTTP kıyaslama aracı kullanmak ve almak ne gibi sonuçlar görüyoruz.

Uğraşıyorsanız uğraşın daha paralel istekleri, uzun her isteği alacağını unutmayın. Önemli sayılar ortalama zaman kabul edilemez hale önce işleyebilir kaç tane paralel istekleri vardır ve isteklerini işleyebilir hangi oran.

Örneğin günde başına düşen 1.000.000 görüşlerini alarak - saniyede çok daha 11 den istekleri idare edebilmek istiyorum. En az 20 olasılığı, ve en az 10 paralel ister.

Ayrıca temsili bir veri kümesi ile test etmek istiyorum. Eğer 100 olmasını bekliyoruz eğer bir sayfa ile bir CMS kıyaslama hiçbir nokta yok., En iyi tahmin al bunu iki katına, ve test bu büyük en azından bir veri seti ile.

Sürece kodunuzu aptalca bir şey yapmıyoruz olarak yapabileceğiniz tek büyük gelişme önbelleklemesidir. Uygun önbelleğe alma başlıkları kurmak için emin olun, size web sunucusu önünde (örneğin kalamar gibi) bir ters proxy sopa olabilir. Kalamar Yalnızca benzersiz veya güncellenmiş sayfa isteklerini işlemek için PHP uygulama bırakarak, doğrudan önbellek bulunuyor bulunuyor şey hizmet edecektir.