问题标签 [connection-timeout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
34288 浏览

sql-server-2008 - 帮助排除 SqlException: Timeout expired on connection, in a non-load 情况

我有一台服务器托管我的网站,该网站的流量几乎为零。
每天都有一些人(< 20 人)进入该网站,并且一些 RSS 阅读器订阅了我们发布的一些提要。

几乎每天晚上,一个 RSS 阅读器都会在半夜打到我们,并得到一个异常,即网站由于连接超时而无法连接到 SQL Server。细节非常奇怪,所以我正在寻找可能是什么问题的帮助,因为我不知道从哪里开始寻找了。

我们在 Windows Server 2008 上使用 ASP.Net MVC、Entity Framework 和 SQL Server 2008。这台机器是我们从不完全是顶级供应商那里获得的专用机器,因此可能配置不理想,或者谁知道什么别的。
盒子也很小,只有 1Gb RAM,但它应该能承受我们现在的负载......

我正在复制下面的完整调用堆栈,但首先,我们知道一些事情:

  • 当 iTunes 查询我们的网站时,总是会发生错误。我相信这应该与任何事情无关,但事实是我们只能从 iTunes 获得它。我最好的猜测是,发生这种情况是因为只有 iTunes 在晚上没有其他人打我们的时候查询我们。
  • 我们的理论之一是 SQL Server 和 IIS 正在争夺内存,其中一个因未使用而被分页到磁盘,当有人“唤醒它”时,从磁盘读取所有内容需要很长时间进入记忆。这是可能发生的事情吗?(我有点放弃这个,因为如果可能的话,这听起来像是 SQL Server 中的一个设计问题)
  • 我还考虑了我们泄漏连接的可能性,因为我们可能没有适当地处理 EF 实体(请参阅我的问题here)。这是我通过谷歌搜索问题唯一能找到的。考虑到我们的负载极低,我放弃了这个。
  • 这总是在晚上发生,所以很可能与一段时间内什么都没有发生有关。例如,我很确定当这些请求命中时,Web 服务器进程被回收,它正在启动/重新 JIT 处理所有内容。但是,重新 JITting 并没有解释 SQL 超时。

更新:我们按照建议附加了一个分析器,我们花了很长时间才发现一个新的异常。这是我们知道的新东西:

  • 附加分析器极大地减少了我们得到的错误数量。事实上,在正常情况下每天获得几个之后,我们不得不等待 3 或 4 天才能发生一次。一旦我们停止分析器,它就会回到正常的错误频率(甚至更糟)。所以 profiler 有一些效果,在一定程度上隐藏了这个问题,但不是完全隐藏。
  • 查看 IIS 请求日志旁边的探查器跟踪,请求和查询之间存在预期的 1-1 对应关系。但是,时不时地,我会看到很多正在执行的查询与 IIS 日志完全没有关联。事实上,在记录实际错误之前,我在 3 分钟内收到了 750 个查询,所有这些都与 IIS 日志完全无关。查询文本看起来像 EF 生成的那种不可读的废话,它们并不完全相同,它们看起来都像来自网站的查询:相同的应用程序名称、用户等。让我们知道这有多荒谬也就是说,该站点在2 天内收到了大约 370 个访问数据库的 IIS 请求
  • 这些无法解释的查询与之前的网站查询并非来自相同的 ClientProcessID,尽管如果进程在此期间被回收,它们可能仍然来自网站。在最后一个解释的查询和第一个无法解释的查询之间几乎有一个小时没有活动。
  • 我不知道它们来自哪里的这些长串查询之一就在我记录错误之前出现,所以我相信这是我们应该遵循的线索。
  • 正如我最初预期的那样,当引发错误的查询被执行时,它来自与前一个不同的 ClientProcessID,(比前一个无法解释的晚 8 分钟,比前一个 IIS 晚几乎一小时)。这意味着,对我来说,工作进程确实已经被回收了。
  • 这是我完全不明白的。IIS 日志显示,在错误请求前一分钟,有 4 个得到了完美的服务,尽管这些查询根本没有显示在跟踪中。事实上,在这 4 个进展顺利之后,我连续快速抛出了 4 个异常,这 4 个也没有出现在跟踪中(这是有道理的,因为如果连接中有超时,则查询应该永远不会被执行,但我也没有在跟踪中看到连接尝试)

所以,简而言之,我对此一无所知。我找不到那些快速连续运行的数百个查询的原因,但我相信这些肯定与问题有关。
我也不知道如何诊断连接问题...
或者 Profiler 跟踪可能会丢失一些根据 IIS 正常执行的查询...

有任何想法吗?


这是异常信息:

任何想法将不胜感激。

0 投票
1 回答
1377 浏览

networking - BlackBerry - 如何使套接字无限期保持活动状态

我在黑莓中创建了套接字程序。并使用以下方法设置套接字以保持活动状态

但是我的套接字连接在 2-3 分钟后终止。意味着如果我将 Ideal 保持 2-3 分钟 2-3 分钟,那么我的套接字连接就会丢失。

那么如何让我的套接字连接永远存在,尽管我可能会理想 1 小时或更长时间。

0 投票
4 回答
4826 浏览

mysql - MySQL 连接超时 - MySQL 服务器已消失 (Sinatra, ActiveRecord)

这是我的应用程序的大纲:

等等

我只调用了一次建立连接 - 在应用程序初始化期间。我遇到了 MySQL 的 8 小时空闲连接限制(MySQL 服务器已经消失),我想知道最好的方法。

我浏览了 ActiveRecord 源,发现它汇集了数据库服务器连接。那么,理想情况下,我应该在每个 Web 请求中创建一个新连接还是增加超时设置?

谢谢你的时间!

0 投票
2 回答
513 浏览

sql-server-2005 - sql 2005数据库不可用时如何减少超时时间

我有一些查询 SQL 2005 Express 数据库的 ASP(经典)代码。我目前正在以编程方式处理如果此数据库出现故障,则在有人尝试连接但无法连接时处理错误。我捕获错误并使用会话变量绕过对该数据库的后续数据库查询。

我的问题是第一个查询需要大约 20 秒才能超时。

我想减少这个超时长度,但找不到代码或数据库中的哪个属性是正确的减少。

我试过在代码中遵循;

con.CommandTimeout = 5

con.CONNECTIONTIMEOUT = 5

请问有什么建议吗?

谢谢,

安迪

0 投票
2 回答
10170 浏览

django - 在 Django 中发送电子邮件的连接超时问题

我从

http://www.packtpub.com/article/friends-via-email-social-web-application-django-1.0

并按照以下步骤操作:=> 并更改我的 setting.py

在我进入命令行之后

我收到错误消息。

任何人都知道到底是什么问题。我如何使用 django 框架发送邮件

参考我读过:

0 投票
4 回答
70254 浏览

java - 与 MySql 的连接正在自动中止。如何正确配置Connector/J?

我从错误消息中阅读了此建议:

您应该考虑在应用程序中使用之前使连接有效性过期和/或测试,增加客户端超时的服务器配置值,或使用连接器/J 连接属性“autoReconnect=true”来避免此问题。

我正在使用 Spring 和 JPA。我应该在哪里配置 Connector/J?(在persistence.xml,或在entityManagerFactory弹簧配置中,或在dateSource弹簧配置中,或其他地方?)

0 投票
1 回答
2277 浏览

sql-server-2008 - Sql Server SMO 连接超时不起作用

我有以下 PowerShell 代码:

它似乎有效,除了尝试设置 SMO 连接超时的部分。如果连接成功,我可以验证 ServerConnection.ConnectTimeout 是否设置为 2(秒),但是当我为 SQL Server 实例提供虚假名称时,它仍会尝试连接到它约 15 秒(我相信默认超时值)。

有没有人有设置 SMO 连接超时的经验?先感谢您。

0 投票
3 回答
1591 浏览

.net - sqlclient - 连接超时或命令超时

运行查询时出现以下错误。

*

System.Data.SqlClient.SqlException:超时已过期。
在操作完成之前超时时间已过或服务器没有响应。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection)

*

这是连接超时还是命令超时?

TIA

0 投票
1 回答
537 浏览

c++ - 尝试将 ipod touch 连接到我的服务器时网络超时

我有一个 ipod touch 程序,它应该从我的 mac 上的服务器程序接收消息。为了确保触摸可以接收来自 Mac 以外的计算机的消息,我用 C++ 对服务器进行了编程。如果我在同一台计算机上同时运行服务器和 ipod 应用程序(模拟器上运行的应用程序),则连接很好,一切都很好。但是,当我尝试从我的设备连接到服务器时,连接超时。谁能发现问题?我对网络和一般的 iPhone 操作系统不太擅长。

服务器.cpp:

服务器卡在accept(),等待应用程序...

客户.m:

据我所知,除了超时之外,服务器和客户端都没有报告任何错误(我正在检查 errno 和 NSError)。

如果有人可以帮助我解决这个问题,非常感谢!

0 投票
3 回答
10549 浏览

c# - 尽管连接字符串超时 3 秒,但 Sql 连接等待 15 秒

我有一个通过本地网络使用 Microsoft SQL 2008 服务器的网站。有时,SQL 服务器机器重新启动,因此网站无法连接到数据库。如果机器启动并运行,它将快速响应。如果它关闭,则无需等待 15 秒。3秒没问题。

当数据库无法访问时,我想在网站上显示道歉,并希望快速完成。但是Connection Timeout=3在连接字符串中设置似乎没有效果。该页面花费 22 秒等待,然后才SqlException开始SqlConnection.Open();

它出什么问题了?可能是覆盖超时的隐藏配置吗?

目前,我的连接字符串是

如果我将其设置为...;ConnectionTimeout=3(没有空格),

被抛出(奇怪,MSDN 文档表明我们可以同时使用这两个字符串)。