Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Praktik terbaik untuk mengoptimalkan kecepatan situs LAMP?

Berikut adalah beberapa hal yang harus dilakukan pribadi yang selalu saya siapkan di aplikasi LAMP saya.

  • Instal mod_deflate untuk apache, dan jangan gunakan penangan gzip PHP. mod_deflate akan memungkinkan Anda untuk mengompresi konten statis, seperti javascript/css/html statis, serta output PHP dinamis biasa, dan satu hal lagi yang perlu Anda khawatirkan dalam kode Anda.

  • Hati-hati dengan file .htaccess! Mengaktifkan file .htaccess untuk direktori di aplikasi Anda berarti Apache harus memindai sistem file secara konstan, mencari arahan .htaccess. Jauh lebih baik untuk menempatkan arahan di dalam konfigurasi utama atau konfigurasi vhost, di mana mereka dimuat sekali. Setiap kali Anda dapat menyingkirkan file akses tingkat direktori dengan memindahkannya ke file konfigurasi utama, Anda menghemat waktu akses disk.

  • Siapkan lapisan basis data aplikasi Anda untuk menggunakan semacam pengelola koneksi (saya menggunakan Singleton untuk sebagian besar aplikasi). Ini tidak terlalu sulit untuk dilakukan, dan mengurangi jumlah koneksi database yang dibuka aplikasi Anda akan menghemat sumber daya.

  • Jika menurut Anda aplikasi Anda akan melihat beban yang signifikan, memcached dapat melakukan keajaiban. Ingatlah ini saat Anda menulis kode Anda... mungkin suatu hari alih-alih membuat objek dengan cepat, Anda akan mendapatkannya dari memcache. Sedikit tinjauan ke depan akan membuat implementasi tidak menyakitkan.

  • Setelah aplikasi Anda aktif dan berjalan, setel waktu kueri lambat MySQL ke angka kecil dan pantau kueri lambat dengan cermat. Ini akan menunjukkan dari mana kueri masalah Anda berasal, dan memungkinkan Anda untuk mengoptimalkan kueri dan indeks Anda sebelum menjadi masalah.

  • Untuk tweaker kinerja yang serius, Anda akan ingin mengkompilasi PHP dari sumber. Menginstal dari paket menginstal banyak perpustakaan yang mungkin tidak pernah Anda gunakan. Karena lingkungan PHP dimuat ke dalam setiap instance dari thread Apache, bahkan overhead memori 5MB dari perpustakaan ekstra dengan cepat menjadi 250MB memori yang hilang ketika tidak ada 50 thread Apache. Saya menyimpan daftar baris ./configure standar yang saya gunakan saat membuat PHP di sini , dan menurut saya ini cocok untuk sebagian besar aplikasi saya. Kelemahannya adalah jika Anda akhirnya membutuhkan perpustakaan, Anda harus mengkompilasi ulang PHP untuk mendapatkannya. Analisis kode Anda dan uji di lingkungan pengembangan untuk memastikan Anda memiliki semua yang Anda butuhkan.

  • Perkecil Javascript Anda.

  • Bersiaplah untuk memindahkan konten statis, seperti gambar dan video, ke server web yang tidak dinamis. Tulis kode Anda sehingga setiap URL untuk gambar dan video dapat dikonfigurasi dengan mudah untuk menunjuk ke server lain di masa mendatang. Server web yang dioptimalkan untuk konten statis dapat dengan mudah melayani puluhan atau bahkan ratusan kali lebih cepat daripada server konten adinamis.

Itulah yang bisa saya pikirkan dari atas kepala saya. Googling untuk praktik terbaik PHP akan menemukan banyak tips tentang cara menulis kode yang lebih cepat/lebih baik juga (Seperti:echo lebih cepat dari print ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghasilkan nomor kenaikan otomatis berikutnya di mysql menggunakan php?

  2. Membuat TinyURL Anda sendiri

  3. Gunakan Database Relasional MySQL di Ubuntu 10.10 (Maverick)

  4. Operator MINUS di MySQL?

  5. Mencari emoji di MySQL