Şu an bir süredir bu sorunu görüyoruz ve gerçekten de başıma neyin sebep olduğunu etrafımda sarmaya çalışıyorum.Klasik ASP uygulaması SQL Server "Zaman Aşımları" ve "SQL Server yok veya erişim reddedildi" sorunu yaşanıyor
biz web sayfaları atma başlar dönemlerini görürsünüz günde sonra kısa süre sonra sayfalar [Microsoft] [ODBC SQL Server sürücüsü] [" atarım "[Microsoft] [ODBC SQL Server sürücüsü] Zaman aşımı doldu" Birkaç kez DBNETLIB] SQL Server yok veya erişim reddedildi. "
Bu veritabanı sunucusuna bağlanan birçok farklı uygulamamız var. Saniyede ortalama 10.000 işlem gerçekleştiren yaklaşık 2500 eşzamanlı bağlantı işlemektedir. Uygulamalarımızın çoğunda sorun yok, sorunlar sadece web sunucusunda oluyor gibi görünüyor. (Belki de bağlantı havuzu ile ilgilidir?)
Bu sorunun ne olacağından emin değilim. Söz konusu SQL sunucusu, yaptığı iş için büyük ölçüde etkindir ve işlemci başına lisanslama ile donatılmıştır. Bu yüzden bir lisans/performans sorununa baktığımızı düşünmüyorum.
Belki de bir IP bağlantısı sorunu olduğunu düşündüm, bu yüzden IP adresini kullanmak için ConnectionString'i değiştirdim ve uzun süreli ping'leri çalıştırdım. Web sunucusu ve veritabanı sunucusu arasında 0 paket kaybettim.
ASP bağlantı dizesi şimdi şöyle görünür:
Provider=MSDASQL; Driver={SQL Server}; Server=10.0.100.100; Database=DBName; UID=WebUserName; PWD=WebUserPassword; ConnectionTimeout=15; CommandTimeout=120;
kullanıcı SQL Server kimlik doğrulaması kullanarak bağlantı olmayan bir etki alanı kullanıcısı olduğunu. Yani bunun alanla ilgili bir sorun olduğunu düşünmüyorum. SQL server log dosyalarını kontrol ettim ve olaylara karşılık gelen hiçbir şey bulamadım.
Benzer davranışıtan, çözünürlüğü belirtmeden another stackoverflow question anladım.
Detayları:
- Web Sunucusu: Windows 2003 Standart SP2, 6.
- Veritabanı Sunucusu IIS: Microsoft SQL Server 9.0.4035
herkes gördü
Teşekkürler!
-Zorlack
DÜZENLEME
herkes iyi uygulama klasik yüksek yük asp sql sorguları gerçekleştirmek için ne olduğunu bana söyleyebilir misiniz? Bağlantı havuzundan yararlanmayı denemek ister miyiz? kodunda baktığımızda
, oldukça çok şuna benzer: (Scotte tavsiyesine başına)
Set objCn = Server.CreateObject("ADODB.Connection")
objCn.Open(Application("RoConnStr"))
'do some stuff
objCn.Close
Set objCn = Nothing
Çözüm açıklanan
This article, bir tişört, sorunuma. Kayıt defterini değiştirdim ve sunucuyu yeniden başlattım.
Sorun Çözüldü!
Teşekkürler, ben de bu problemi yaşadım. Bağlantı havuzu gibi görünüyor olsa kırmızı bir ringa balığı. Bağlantı havuzu açıkken ve bağlanmadan test yaptığımda, sunucu hala TIME_WAIT durumunda binlerce TCP bağlantısı oluşturdu. Bağlantı havuzu, bağlantı nesnelerini yeniden kullanmanıza izin veriyor gibi görünüyor, ancak bunlar bazen sunucular arasında birçok yeni TCP bağlantısı oluşturur. –