Sebelum Anda menjawab ini, saya belum pernah mengembangkan sesuatu yang cukup populer untuk mendapatkan banyak server. Perlakukan saya sebagai (mendesah) alien yang baru saja mendarat di planet ini, meskipun yang tahu PHP dan beberapa teknik optimasi.
Saya sedang mengembangkan alat dalam PHP yang dapat mencapai cukup banyak pengguna, jika itu berhasil. Namun sementara saya sepenuhnya mampu mengembangkan program saya cukup mengerti ketika membuat sesuatu yang dapat menangani lalu lintas besar. Jadi, inilah beberapa pertanyaan di atasnya (jangan ragu untuk mengubah pertanyaan ini menjadi utas sumber daya juga).
Basis data
Saat ini saya berencana untuk menggunakan fitur MySQLi di PHP5. Namun bagaimana saya harus mengatur basis data terkait dengan pengguna dan konten? Apakah saya benar - benar membutuhkan banyak basis data? Saat ini semuanya bercampur menjadi satu database - walaupun saya telah mempertimbangkan untuk menyebarkan data pengguna ke satu, konten yang sebenarnya ke yang lain dan akhirnya konten situs inti (master template dll) ke yang lain. Alasan saya di balik ini adalah bahwa mengirimkan pertanyaan ke database yang berbeda akan meringankan beban mereka sebagai satu database = 3 sumber beban. Juga apakah ini masih efektif jika mereka semua berada di server yang sama?
Caching
Saya memiliki sistem template yang digunakan untuk membangun halaman dan menukar variabel. Templat induk disimpan dalam basis data dan setiap kali templat disebut salinan temboloknya (dokumen html) dipanggil. Saat ini saya memiliki dua jenis variabel dalam template ini - var statis dan var dinamis. Vatic statis biasanya hal-hal seperti nama halaman, nama situs - hal-hal yang tidak sering berubah; vars dinamis adalah hal-hal yang berubah pada setiap memuat halaman.
Pertanyaan saya tentang ini:
Katakanlah saya punya komentar tentang artikel yang berbeda. Yang merupakan solusi yang lebih baik: simpan template komentar sederhana dan render komentar (dari panggilan DB) setiap kali halaman dimuat atau simpan salinan cache halaman komentar sebagai halaman html - setiap kali komentar ditambahkan / diedit / dihapus halaman tersebut di-recached.
Akhirnya
Adakah yang punya tips / petunjuk untuk menjalankan situs beban tinggi di PHP. Saya cukup yakin ini adalah bahasa yang bisa digunakan untuk digunakan - Facebook dan Yahoo! berikan prioritas besar - tetapi apakah ada pengalaman yang harus saya perhatikan?