Buna cevap vermeden önce, yüksek sunucu yüklerine ulaşmak için yeterince popüler bir şey geliştirmedim. Bana PHP ve birkaç optimizasyon tekniğini bilen bir gezegen olsa da, gezegene yeni gelmiş bir uzaylı gibi davran.
PHP'de doğru çalışırsa, oldukça fazla kullanıcı elde edebilecek bir araç geliştiriyorum . Ancak programı tamamen geliştirebiliyorum, büyük trafikle baş edebilecek bir şey yapmak söz konusu olduğunda neredeyse hiç clueless. İşte size birkaç soru (bu soruyu bir kaynak dizisine dönüştürmekten çekinmeyin).
Veritabanları
Şu anda PHP5'te MySQLi özelliklerini kullanmayı planlıyorum. Ancak veritabanlarını kullanıcılar ve içerikle ilgili olarak nasıl ayarlamalıyım? Aslında birden fazla veritabanına ihtiyacım var mı? Şu anda her şey bir veritabanına karıştı - kullanıcı verilerini bir veriye yaymayı düşünmeme rağmen, gerçek içeriği başka bir içeriğe ve nihayetinde çekirdek site içeriğine (şablon yöneticileri vb.) Diğerine. Bunun arkasındaki akıl yürütme, farklı veritabanlarına sorgu göndermenin, bir veritabanı = 3 yük kaynağı olarak üzerlerindeki yükü hafifleteceğidir. Ayrıca hepsi aynı sunucudaysa bu yine de etkili olur mu?
Önbelleğe almak
Sayfaları oluşturmak ve değişkenleri takas için kullanılan bir şablon sistemi var. Ana şablonlar veritabanında saklanır ve bir şablon her çağrıldığında önbelleğe alınmış kopyası (html belgesi) çağrılır. Şu anda bu şablonlarda iki tür değişkenim var - statik bir değişken ve dinamik bir değişken. Statik değişkenler genellikle sayfa adları, sitenin adı - sık sık değişmeyen şeyler; dinamik değişkenler her sayfa yükünde değişen şeylerdir.
Bu konudaki sorum:
Farklı makaleler hakkında yorum yaptığımı söyle. Hangisi daha iyi bir çözümdür: Basit yorum şablonunu saklayın ve sayfa her yüklendiğinde (DB çağrısından) yorum yapın veya yorum sayfasının önbelleğe alınmış bir kopyasını html sayfası olarak saklayın - her yorum eklendiğinde / düzenlendiğinde / silindiğinde sayfa önbelleğe alınır.
En sonunda
Herkes PHP yüksek yük sitesi çalıştırmak için herhangi bir ipucu / işaretçiler var mı. Kullanılabilir bir dil olduğuna eminim - Facebook ve Yahoo! büyük bir öncelik verin - ama dikkat etmem gereken herhangi bir deneyim var mı?