我正在运行以下代码......
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["db-connection"].ConnectionString))
{
connection.Open();
var command = new SqlCommand("SELECT @@SERVERNAME",connection);
using (var reader = command.ExecuteReader())
{
reader.Read();
return reader[0].ToString();
}
}
...作为完整性检查,返回此应用程序指向的数据库服务器的名称。有两个数据库服务器(DB00和DB01),它们位于HAProxy之后,如果DB00不可用,则设置为故障转移到DB01。
连接字符串如下所示:
<add name="db-connection"
connectionString="User Id=USER_ID; Password=PASSWORD; Initial Catalog=the-database; Server=load-balancer.is.here,59281; Application Name=My.Application.Name;Min Pool Size=5;Max Pool Size=500;Connect Timeout=10;Connection Lifetime=29;" />
任何想法可能是什么?它可能是单声道连接池问题吗?
修改 HAProxy配置按要求:
1 global
2 maxconn 4096
3 daemon
4
5 defaults
6 mode tcp
7 #mode http
8 contimeout 5000
9 clitimeout 50000
10 srvtimeout 50000
11
12
13 frontend blahblah
14 bind *:59283
15 mode tcp
16 default_backend sql-server-lockertest
17
18 backend sql-server-lockertest
19 balance roundrobin
20 server james 10.0.10.217:1433 check maxconn 32 rise 3 fall 3
21 server andres 10.0.10.226:1433 check maxconn 32 rise 3 fall 3 backup
此致
詹姆斯
答案 0 :(得分:1)