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

Kesalahan MySQL Terlalu banyak koneksi

Penyedia hosting bersama umumnya mengizinkan koneksi simultan dalam jumlah yang cukup kecil untuk pengguna yang sama.

Apa yang dilakukan kode Anda adalah :

  • buka koneksi ke server MySQL
  • melakukannya (membuat halaman)
  • tutup koneksi di akhir halaman.

Langkah terakhir, bila dilakukan di akhir halaman tidak wajib :(mengutip mysql_close 's manual) :

Tetapi perhatikan bahwa Anda mungkin tidak boleh menggunakan koneksi persisten...

Dua tips :

  • gunakan mysql_connect alih-alih mysql_pconnect (sudah OK untuk Anda)
  • Setel parameter keempat mysql_connect ke false (sudah OK untuk Anda, karena ini adalah nilai default) :(mengutip manual) :


Lalu, apa yang bisa menyebabkan masalah?

Mungkin Anda mencoba mengakses beberapa halaman secara paralel (menggunakan banyak tab di browser Anda, misalnya) , yang akan mensimulasikan beberapa pengguna yang menggunakan situs web secara bersamaan ?

Jika Anda memiliki banyak pengguna yang menggunakan situs secara bersamaan dan kode antara mysql_connect dan penutupan koneksi membutuhkan banyak waktu, itu berarti banyak koneksi dibuka secara bersamaan... Dan Anda akan mencapai batas :-(

Namun, karena Anda adalah satu-satunya pengguna aplikasi, mengingat Anda memiliki hingga 200 koneksi simultan yang diizinkan, ada sesuatu yang aneh terjadi...


Nah, memikirkan tentang "terlalu banyak koneksi " dan "max_connections "...

Jika saya ingat dengan benar, max_connections tidak membatasi jumlah koneksi Anda dapat membuka ke Server MySQL, tetapi jumlah total koneksi yang dapat dibuka ke server itu, oleh siapa pun yang terhubung ke server itu .

Mengutip dokumentasi MySQL di Terlalu banyak koneksi :

Jadi, sebenarnya, masalahnya mungkin bukan berasal dari Anda atau kode Anda (yang sebenarnya terlihat baik-baik saja) :mungkin "hanya" bahwa Anda bukan satu-satunya yang mencoba terhubung ke server MySQL itu (ingat, "hosting bersama") , dan ada terlalu banyak orang yang menggunakannya secara bersamaan...

... Dan jika saya benar dan hanya itu , tidak ada yang dapat Anda lakukan untuk memecahkan masalah :selama ada terlalu banyak database / pengguna di server itu dan max_connection itu diatur ke 200, Anda akan terus menderita...


Sebagai catatan tambahan :sebelum kembali ke GoDaddy menanyakan hal itu kepada mereka, alangkah baiknya jika seseorang dapat memvalidasi apa yang baru saja saya katakan ^^



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyortir kueri MySQL dengan ORDER BY atau dengan fungsi sortir PHP

  2. Lempar kesalahan yang mencegah pembaruan tabel di pemicu MySQL

  3. Django + MySQL pada Mac OS 10.6.2 Snow Leopard

  4. Bagaimana cara mengonversi skrip menggunakan fungsi mysql_ untuk menggunakan fungsi mysqli_?

  5. Instalasi Django mysqlclient