Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 14/03/2008, 19:06   #1 (permalink)
Deli Olmak Akıl İster
 
Eretna Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2007
Yer: Ankara
Mesaj: 1,322
Mesaj mysql close yeterli mi ?

Arkadaşlar yaptığım arkadaşlık sitesinde tüm işlemler olup bittikten sonra en altta
mysql_close($baglanti_adi); şeklinde bağlantıyı kesiyorum.
fakat hosting firması ile bir görüşme yaptım ve şu cevabı aldım:
[FONT='Calibri','sans-serif']MYSQL maximumum kullanıcı sayısına ulaştı hata veriyordu, mysql bakınca bir sürü kapatılmamış boşta bekleyen bağlantı görüyorum. Size bu sıkıntı yaratır.[/font]
tamamda zaten ben bunu sitenin en altında uygulamışım.
acaba yanlış bilgilendirmemi var yoksa uygulamak durumunda olduğum farklı yollar mı var?

buda bana gönderilen tablo :



Teşekkürler
__________________
################################
Kestiğin Ümitlerden Yelkenlerde Yaptım
Ama...
Yokluğunda Ne Gidebildim Ne De Kaldım.
###############################
Eretna hatta değil   Alıntı Yaparak Yanıtla
Eski 15/03/2008, 02:33   #2 (permalink)
Üye
 
Üyelik Tarihi: 05/2007
Mesaj: 141
Varsayılan

Normalde mysql_close() kullanmaya gerek yoktur. Script'in çalışması bittiği zaman mevcut bağlantılar da kapatılır zaten. Ama sen kodlarla da bunu garantiye almışsın. mysql_close()'dan başka birşey kullanmana gerek yok. Gönderdiğin tabloda da bence problem yok. Hosting işleriyle ilgili pek fazla tecrübem yoktur, ayrıca bu tabloyu gönderen kişinin de bu konuda daha fazla tecrübeli olduğunu varsayarak ukalalık etmek istemem ama benim gördüğüm kadarıyla tablodaki bilgilerde bir problem yok.

Birincisi oradaki çıktı "show processlist" komutuyla alınmış anlık bir çıktı. O anda sitedeki script bu kadar bağlantı sağlamış olabilir, bu durum bağlantıların kapatılmadığını göstermez. Tabloda önemli olan "time" kolonundaki değerler. Buradaki değer varitabanına yapılan bağlantının "state" özelliğinin ne kadar süredir devam ettiğidir.(saniye olarak) Senin tablondaki değerlerin çoğu 10 saniyenin altında. Birkaç tane 17,18,19 falan var. Eğer buradaki değer çok büyük olsaydı (mesela birkaç bin saniye veya daha fazla) o zaman o bağlantıda bir sıkıntı olabilirdi.(tabii persistent connection falan değilse) Birkaç saniye ya da ne biliyim 15-20 saniyelik değerler bence normal. Arka arkaya bu komutu çalıştırıp bu değerlerin değişip değişmediğine bakmak lazım ya da belli bir zaman aralığında bunu takip edip kaç tane bağlantı yapılıyor, kaç saniye bağlı kalıyor şeklinde ortalama bir veri elde etmek lazım. Hosting tarafından bunun için kullandıkları bir yazılım, araç var mıdır bilemem ama bence başka bir sıkıntı var. Hosting yetkilisiyle tekrar görüş bence.

Senin kodlarında yapabileceğin ne olabilir? Bağlantıları kapatma anlamında değil de kodları optimize ederek, sorgularını tekrar kontrol ederek, veritabanındaki tablolarının yapısını ve index'leri gözden geçirerek daha performanslı hale getirmeyi deneyebilirsin.
mustaine hatta değil   Alıntı Yaparak Yanıtla
Eski 15/03/2008, 03:22   #3 (permalink)
Üye
 
Üyelik Tarihi: 05/2007
Mesaj: 141
Varsayılan

Kendi kodlarında şunu da deneyebilirsin. MySQL'de wait_timeout parametresi vardır. Bu parametre normalde 28800 saniye yani 8 saattir. Sunucuya bağlanan bir client eğer bu süre içerisinde herhangi bir sorgu yapmamışsa yani "idle" kalmışsa sunucu otomatik olarak bu süre sonunda yapılan bağlantıyı keser. Scriptlerinde veritabanına bağlandıktan sonra "set wait_timeout=60" yap mesela. 60 saniye boyunca bir işlem yapılmazsa sunucu bağlantıyı kesecektir. 60 saniyeyi sen kendi sistemine göre artırıp azaltabilirsin. Bi de bu şekilde dene bakalım. Ayrıca hosting firması MySQL'in loglarına baksın. Senin yaptığın bağlantılar bir şekilde kapatılmamışsa ve hiçbir işlem yapmadan öylece duruyorsa zaten bir süre sonra sunucu otomatik kesecektir bağlantıyı, loglarda da aşağıdaki gibi hata mesajı vermesi lazım.

[Warning] Aborted connection 2 to db: 'veritabani_adi' user: 'kullanici_adi' host: 'localhost' (Got timeout reading communication packets)

Ayrıca sen veritabanına max_connections parametresindeki kadar bağlantı sağlayabilirsin. hosting firması bu değeri ne yaptı bilemem. Eğer bağlantıların kapanmıyor olsaydı bir süre sonra bu sayıya ulaştığın zaman daha fazla bağlantı sağlayamayacağın için sitende sıkıntı yaratırdı.
mustaine hatta değil   Alıntı Yaparak Yanıtla
Eski 15/03/2008, 12:38   #4 (permalink)
Deli Olmak Akıl İster
 
Eretna Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2007
Yer: Ankara
Mesaj: 1,322
Varsayılan

@mustaine verdiğin bilgile için teşekkür ederim.
zaten site normal standanrtların biraz üzerinde yani google reklamları filan yapılıyor. ve anlık ziyaretçi 6-7 bine çıktığı anlar oluyor. zaten bunun içinde sistem gereksinimleride iyi olması gerekiyor.
bunun için server kiraladık zaten. ama işte türk firmaları anlık trafik artışlarında fatura kendilerine kesildiği için bunu gözardı edemiyor. zaten siteye de saldırılar oluyor bunuda bilyoruz ama bir açık bulamadılar şuana kadar ve aramaya devam ediyorlar sanırım. bu saldırılarda sistemi biraz zorladığını biliyorum ve zaten bu durumlada sitenin kapanmaması için server ihtiyacı duyduk. ama hosting firmamız sanırım bunu anlamak istemiyor.
yurtd dışı serverlerde bu sorunu hiç yaşamıyordum takki tr lokasyon sucunlar kullanmaya başlayalı bu sıkıntılara aşina oldum.
yorumların ve bilgilendirmen için teşekkür ederim tekrardan.
iyi çalışmalar
__________________
################################
Kestiğin Ümitlerden Yelkenlerde Yaptım
Ama...
Yokluğunda Ne Gidebildim Ne De Kaldım.
###############################
Eretna hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
self.close problemi guess Javascript / DHTML / Ajax 0 28/12/2007 13:28
Bu scripte sadece close eklemek istiyorum :s darkart Javascript / DHTML / Ajax 3 24/11/2007 18:57
Mysql Close Hakkında Soru byfobi PHP 15 13/06/2007 17:42
SqlDataReader close hakkinda zenin2000 ASP 1 23/09/2006 19:04


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 19:48.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net