• 29-10-2010, 14:46:09
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sitemdeki online sayısı 80-90nı geçince yavaşlama oluyor bazen veritabanı hatası veriyor. Her sayfanın altında mysql_close kullanıyorum sizce yavaşlamaya neden olan bu fonksiyon mu sanki eskiden onu kullanmadan önce sorun olmuyordu. php sitem sizce neden veritabanı hatası veriyor neden yavaşlıyor?
  • 29-10-2010, 16:12:36
    #2
    veritabanı hatası derken tam olarak ne veriyor, hata mesajını yazabilir misin? fikir yürütmeye faydası olsun ?
  • 29-10-2010, 17:18:11
    #3
    Hep mysql-connect hatası silsem mi bu arada mysql closeyi sildim ama işe yaramadı


    Warning: mysql_connect() [function.mysql-connect]: User admin-xxx already has more than 'max_user_connections' active connections in /home/webhosting/xxx/site.com/www.site.com/ayar.php on line 6Data Baseye Baglanilamadi: User admin-xxx already has more than 'max_user_connections' active connections

    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/webhosting/xxx/site.com/www.site.com/ayar.php on line 6Data Baseye Baglanilamadi: Lost connection to MySQL server at 'reading initial communication packet', system error: 111
  • 29-10-2010, 21:08:52
    #4
    turunc4u adlı üyeden alıntı: mesajı görüntüle
    Hep mysql-connect hatası silsem mi bu arada mysql closeyi sildim ama işe yaramadı


    Warning: mysql_connect() [function.mysql-connect]: User admin-xxx already has more than 'max_user_connections' active connections in /home/webhosting/xxx/site.com/www.site.com/ayar.php on line 6Data Baseye Baglanilamadi: User admin-xxx already has more than 'max_user_connections' active connections

    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/webhosting/xxx/site.com/www.site.com/ayar.php on line 6Data Baseye Baglanilamadi: Lost connection to MySQL server at 'reading initial communication packet', system error: 111
    mysql in max_user_connections ayarını yükletmeniz lazım. ondan sonra ne hata alırsınız görelim.

    ayrıca pconnect ile mi bağlanıyorsunuz yani persistant connect mysql close da deseniz kapanmaz.
  • 30-10-2010, 01:08:06
    #5
    mysql'le ilgisi yok sanırım onun. ayar.php dosyasındaki $max_user_connections değişkenini yükseltmeniz lazım. Ya da özel bilgilerinizi "*" karakteriyle değiştirip bu konuya ekleyin, bir bakalım.
  • 30-10-2010, 01:18:44
    #6
    Hkan adlı üyeden alıntı: mesajı görüntüle
    mysql'le ilgisi yok sanırım onun. ayar.php dosyasındaki $max_user_connections değişkenini yükseltmeniz lazım. Ya da özel bilgilerinizi "*" karakteriyle değiştirip bu konuya ekleyin, bir bakalım.
    yanlış arkadaşım. php mysql e bağlanmaya çalıştığı halde mysql izin vermiyor.

    buda demek oluyor ki mysql ile ilgili

    hata kodu diyor kı :User admin-xxx already has more than 'max_user_connections' active connections

    arkadasin admin-xxx kullanıcısı maksimum bağlantı sayısından daha fazla baglantı yapmaya calısıyor.
    yani mysql_connect teki admin-xxx e mysql aynı anda daha fazla bağlantı izni vermeniz gerekiyor. bu 50 sınır 50 ise 50 yi geçince 51 yi bağlatmıyor ve bağlantıları kesiyor.

    2 çözümü var 1.si mysql deki max user connections ı yükselteceksiniz.
    2. si scriptinizi daha düzgün kodlayacaksınız.
  • 30-10-2010, 01:27:42
    #7
    Ha, anladım hocam. Ben o hata kodundaki admin-xxx'i veritabanı değil de site üyesi/kullanıcısı sandım, o yüzden öyle dedim.
  • 30-10-2010, 01:28:54
    #8
    Hkan adlı üyeden alıntı: mesajı görüntüle
    Ha, anladım hocam. Ben o hata kodundaki admin-xxx'i veritabanı değil de site üyesi/kullanıcısı sandım, o yüzden öyle dedim.
    yok veri tabanı kullanıcısı.
  • 30-10-2010, 03:55:42
    #9
    Üyeliği durduruldu
    alternatif çözüm,
    madem her kullanıcının belirli bir limiti var. kullanıcıları çoğaltalım. mesela 5 kullanıcı oluşturalım ve bunları db_un dizisine tanımlayalım.


    $db_un[0] = "user";
    $db_un[1] = "user1";
    $db_un[2] = "user2";
    $db_un[3] = "user3";
    $db_un[4] = "user4";

    $i = rand(0, 4);
    $db_pass = "123";

    mysql_connect("localhost", "$db_un[$i]", "$db_pass") || die ("Veritabanına bağlanılamadı");