Our .Net webservice provides data for about 1000 users and 3000 request per seconds.
If it connects to a database reside on LAN, every thing is OK. But when it connects to a database through The Internet, and naturally, connection will some times not stable and it lead to dead connections. In client's connection pool, connections are still there and on the server also but they are dead already. No connection will be created after that because of full connection pool.
If that happend, we have to reset IIS :( and it happens a lot.
We are using free version of DotConnect 7.3.132.0, Oracle 10g and webservice written in .Net 2.0.
Please help :(
We move our webservice to the same LAN of DB. Every thing is fine.
Related
We're running an ASP website in IIS 7.5.
The site has a SQL backend database, running on a seperate SQL server.
There is a 10Gb fiber connection between both of these servers via a switch.
We're seeing some delays in requests to the SQL server being answered.. so like a request to add a record might go through within 0.25 seconds for one user, but then the same task might take 6 seconds for another user, or even the same user but later on in the day.
I haven't as of yet been able to identify any pattern to the performance issues, except to say it seems as if something is getting queued somewhere.
The machines themselves are virtual machines hosted on HyperV hypervisors.
They have an absolute abundence or memory and CPU resource allocated to them.
The network on the hypervisors is bonded for redundancy, and VMQ is disabled.
I've had perfmon running on both servers for quite a while and can't see anything obvious that points me in a particular direction.
Has anyone seen this sort of behavour before?
Thanks in advance
I'm running out of ideas so checking if anybody can shed some light.
2 tier Client-server application
SQL Server 2005
Workstation: Windows XP
Client-Server Application 1 uses SQL OLE DB Provider. (Provider=SQLOLEDB.1)
Client-Server Application 2 uses SQL Native Client. (System.Data.SqlClient.SqlConnection)
Somehow, application 1 works well but application 2 needs to have Timeout in connection setting to be 30 seconds to make it work.
Using a tip I learned from JohnnyCoder's Database Connectivity Test with UDL File, I tracked down the problem is somewhere around driver. When I try Microsoft OLE DB Provider for SQL Server, it connects immediately. When I try SQL Native Client, it doesn't take long. It fails even it I set connection timeout to be 60.
Both of the applications work well on other installations but not on one specific site. So it has to be related to some environmental settings such as security, firewall, etc.
I tried installing new SQL Server 2005 Native Client on workstation. No luck.
So my question is:
Why does Application 2 ever make it work when the client actually cannot connect? Is there internal logic to use OLE DB when SQL Native Client timeout happens?
What else would you take a look?
Answer: their network firewall blocked TCP/IP packets.
As a result, SQL Native Client timed out with TCP/IP after 20 seconds and then tried Named Pipe which made it work.
I have an ASP application sitting on 2 servers, using a db in SQL Server 2012. The SQL Server uses AlwaysOn Availability groups but when these failover the client connecting to the ASP.NET application terminates. I have looked into the SQL driver which as it turns out the app is using SqlClasses so not using ODBC driver (from what I have deduced I presume that logic is sound but correct me if I'm wrong).
Another suggestion has been made that I load balance the 2 app servers and that will seamlessly allow failover underneath without the client loosing connection, is this a viable way to go? We don't have much control over the applications code to ask it to try the connection again after failing....
Many thanks in advance.
Try defining the failover partner in your connection string.
Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;
Initial Catalog=myDataBase;Integrated Security=True;
And also check out MultiSubNetFailover property in .NET 4.5
I have an web project in asp.net in one of my computers which are connected internally through LAN. The database is in Sql Server kept in another computer. The LAN is connected well. There is no connection error in my programming also. But sometimes in this particular system the page is taking long time to be open, sometime it is showing some exceptions(not everytime again and again). What can be the problem? How can it be solved?
The same project is running good in other computers as well.
My network seems ok, as I can acccess the computer hosting SQL server.
You're just having connection problems.
The page waits for the SQL query's answer to return, and it won't load until it gets the answer.
Check your LAN's connection by pinging between the computer with the project and the SQL server.
If this really is the problem, then the exceptions are probably time-outs.
We have a business web application in ASP.NET + SQL Server 2008.
In the beginning, SQL Server and IIS were on the same machine. Now we bought another machine. Current configuration is IIS machine plus SQL Server machine, and they are connected by a 1gb LAN connection.
With this configuration our web application is slower than before. Max bandwidth is 1-2% of network, about 15mbps.
When we use another threads to the same SQL Server from the same IIS machine, network use is higher. So this is no problem with SQL Server.
Ho we can make higher bandwidth for this SQL connection?
Specs:
.Net 3.5
SQL Server 2008 Standard
file transfer can use 100% of LAN
SQL connection by TCP/IP protocol
SQL logins
Pool tested with enable and disable
Ado.Net by subsonic without LINQ
Use Sql Server Profiler to make sure you pool DB connections. You do cache DB query results, do you? Also make sure that the DB server has good enough hardware. There might also be some authentication or name resolution problems which are eventually resolved but will take time. These tends to cumulate, so many small delays will grow into big one.