标签: connection-timeout

卷曲超时小于1000毫秒总是失败?

此代码始终失败(即$result布尔值false):

     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $path);
     curl_setopt($ch, CURLOPT_HEADER, TRUE);
     curl_setopt($ch, CURLOPT_NOBODY, TRUE);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     $curl_version = curl_version();

     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 999);

     $result = curl_exec($ch);
     curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

此代码始终成功(即,$result是包含标头的字符串):

     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $path);
     curl_setopt($ch, CURLOPT_HEADER, TRUE);
     curl_setopt($ch, CURLOPT_NOBODY, TRUE);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     $curl_version = curl_version();

     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1000);

     $result = curl_exec($ch);
     curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

唯一的区别是我将超时从999ms更改为1000ms.

这必须是卷曲中的错误或者我错过的连接超时文档中的某种最小值.这是什么?我的钱是后者.

php curl connection-timeout

9
推荐指数
1
解决办法
7159
查看次数

PHP MySQL设置连接超时

使用mysql.connect_timeout从PHP连接设置上有一些帖子超时.我想知道PHP的这个设置超时是否只是超时初始连接MySQL或对数据库的特定查询有效?

我的情况是,我有一个页面与MySQL连接在一起然后我执行说3-4个查询到一个接一个的MySQL.第一次和第二次查询仅执行1-2秒,而第三次查询需要20秒.现在,在第三次查询花费超过20秒的情况下,我想要超时.因此,这里的问题是,从PHP设置此时间适用于与数据库的初始连接,或者它也适用于每个后续查询(独立).如果以后是这种情况,那么如何在第二次查询20秒后将其设置为超时?

php mysql connection-timeout

9
推荐指数
2
解决办法
6万
查看次数

MySqlException:超时已过期 - 增加连接超时没有效果

随着数据库大小的增加,我的查询执行时间更长.查询已经过优化和必要,但我的C#控制台应用程序最近给了我这个错误:

Unhandled Exception: MySql.Data.MySqlClient.MySqlException: Timeout expired.
Run Code Online (Sandbox Code Playgroud)

增加连接字符串中的连接超时没有帮助; 我增加了它

连接超时= 28800

连接超时= 128800

但尽管有这种变化,我仍然会得到错误.

如果我从MySQL工作台运行查询它只需要大约10秒,所以我不知道如何防止这种未处理的异常.

除了"查询所花费的时间"之外还有其他什么可以产生这种异常吗?

c# mysql connection-timeout

9
推荐指数
1
解决办法
3万
查看次数

如何解决Plesk中的FastCGI超时问题?

PHP支持目前设置为:作为快速CGI运行.

我一直在服务器日志中收到这些错误:

mod_fcgid:在45秒内读取数据超时

脚本头的过早结束:index.php

应该快速修复我想,但我找不到要编辑的文件.这是我可以从Plesk改变的东西.

有谁知道如何增加超时?

php fastcgi centos plesk connection-timeout

9
推荐指数
2
解决办法
2万
查看次数

如何将CommandTimeout添加到web.config中的连接字符串

如何将CommandTimeout添加到web.config中的连接字符串?

我试过了:

<add name="ConnectionString" connectionString="Data Source=;Initial Catalog=;Persist Security Info=True;User ID=sa;Password=sa@123;Connect Timeout=200" providerName="System.Data.SqlClient"/>

</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

还有这个:

<add name="MyProject.ConnectionString"  
         connectionString="Data Source=127.0.0.1;Initial Catalog=MyDB;Persist Security Info=True;CommandTimeout=60;User ID=sa;Password=saPassw0rd"
         providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

但它并没有为我工作.

谢谢

connection-string timeout web-config connection-timeout

9
推荐指数
2
解决办法
5万
查看次数

调试504网关超时及其实际原因和解决方案

我们正在RHEL 6.6的Web服务器Varnish + Nginx + FastCGI(php-fpm)上运行以下堆栈

它是一个动态网站,每次都有不同的结果集,并且有大约200万个url被Google索引。

  • 它运行在nginx / 1.5.12和PHP 5.3.3上(将很快升级到最新的nginx和PHP)
  • Nginx连接到端口9000上同一服务器上本地运行的php-fpm

在某些无法解决的页面上,我们间歇性地收到504网关超时。经过一段时间后,给出504的URL可以正常工作。我们从日志中了解到504,但由于它随机出现在任何URL上并在一段时间后起作用,因此我们无法对其进行复制。

我曾与开发人员进行过几次讨论,但是按照他的说法,底层的php脚本几乎什么也不做,它不应该花那么长时间(120秒),但仍然会给504网关超时。

需要确定问题发生的确切位置:

  • Nginx有问题吗?
  • php-fpm是否有问题?
  • 底层的php脚本有问题吗?
  • Nginx是否可能无法连接到php-fpm?
  • 如果我们使用Unix套接字而不是TCP / IP连接可以解决吗?

URL在120秒后用504超时

以下是看到的错误:2016/01/04 17:29:20 [错误] 1070#0:* 196333149在连接上游时,上游超时(110:连接超时),客户端:66.249.74.95,服务器:xxxx,请求:“ GET / Some / url HTTP / 1.1”,上游:“ fastcgi://127.0.0.1:9000”,主机:“ example.com”

早期的fastcgi_connect_timeout为150秒-过去63秒,它通常在RHEL 6.6上使用net.ipv4.tcp_syn_retries = 5时给出502状态代码;之后,我们设置net.ipv4.tcp_syn_retries = 6,然后在127秒后开始提供502。

一旦我将fastcgi_connect_timeout设置为120,它就会开始提供504状态代码。我知道具有如此高的值的fastcgi_connect_timeout不好。

需要找出为什么我们确切地得到504(我知道它超时,但是原因未知)。需要找到根本原因永久修复它。

我如何确认问题出在哪里?

这是一些已经定义的超时:

在服务器范围的nginx.conf下:

  • keepalive_timeout 5;
  • send_timeout 150;

在特定的vhost.conf下:

  • proxy_send_timeout 100
  • proxy_read_timeout 100
  • proxy_connect_timeout 100
  • fastcgi_connect_timeout 120
  • fastcgi_send_timeout 300
  • fastcgi_read_timeout 300

使用了不同的超时值,因此我可以弄清楚是哪个触发了确切的超时。

以下是sysctl.conf中的一些设置:

  • net.ipv4.ip_local_port_range = 1024 65500
  • net.ipv4.tcp_fin_timeout = 10
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_syn_retries = …

php linux nginx connection-timeout http-status-code-504

9
推荐指数
1
解决办法
3063
查看次数

ssh服务器连接到主机xxx端口22:连接在linux-ubuntu上超时

我试图通过ssh连接到远程服务器,但获得连接超时.

我运行了以下命令

ssh testkamer@test.dommainname.com

并得到以下结果

ssh:连接到主机testkamer@test.dommainname.com端口22:连接超时

但如果尝试连接另一台远程服务器,那么我可以成功登录.

所以我认为ssh没有问题,其他人尝试使用相同的登录名和密码登录,他可以成功登录服务器.

请帮帮我
谢谢.

ssh linode connection-timeout

7
推荐指数
5
解决办法
6万
查看次数

使用websockets和SocketIO防止"心跳超时"

我使用NodeJS和SocketIO作为我的websocket解决方案.它工作正常,但几分钟后,我的套接字服务器总是超时在我的控制台中显示以下消息:

debug - fired heartbeat timeout for client
info - transport end <heartbeat timeout>
debug - set close timeout for client
debug - cleared close timeout for client
debug - discarding transport
Run Code Online (Sandbox Code Playgroud)

这是我的完整server.js档案:

var app = require('http').createServer(handler)
  , io = require('socket.io').listen(app)
  , fs = require('fs')

app.listen(3000);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {

  socket.emit('news', { hello: …
Run Code Online (Sandbox Code Playgroud)

connection-timeout websocket socket.io

7
推荐指数
1
解决办法
5327
查看次数

VirtualBox guest没有获得Vagrantfile分配的IP地址

流浪汉时,访客框被分配了错误的IP地址并导致以下错误:

...
...
SSH address: 127.0.0.1:2222
serverbox: SSH username: vagrant
serverbox: SSH auth method: private key
serverbox: Warning: Connection timeout. Retrying...
serverbox: Warning: Connection timeout. Retrying...
serverbox: Warning: Connection timeout. Retrying...
...
Run Code Online (Sandbox Code Playgroud)

我在家里和办公室工作所以必须总是在Vagrantfile中重新配置IP地址分配,具体取决于我所处的位置,因为子网是不同的.(192.168.xx与10.80.xx)

直到昨天,这一直很好.由于我没有做出任何调整,我不知道是什么导致了这些问题.

Vagrantfile:

Vagrant.configure("2") do |config|                                                                                                                       
  config.vm.provider "virtualbox" do |vb|                                                                                                                
    vb.customize ["modifyvm", :id, "--memory", "512"]                                                                                                    
  end                                                                                                                                                    
  config.vm.network "public_network", ip: '10.80.2.144'
  #config.vm.network "public_netowrk", ip: '192.168.1.144'                                                                                        
end

...
Run Code Online (Sandbox Code Playgroud)

Vagrantfile应该将我的访客箱放在10.80.xx地址上,但netstat显示我的邮箱仍在192.168.xx地址上.这意味着我无法使用guestbox,因为它将进入一个超出界限的子网.

我已经完成了停止和重新启动以及完全重启我的CPU并检查以确保BIOS中的虚拟化已打开.

我看过这里并试过这种方法无济于事.

我也试过vb.gui = true但是我的机器运行无头.Virtualbox的预览日志记录屏幕可能会提供一些有用的信息,但它很小,我无法从中做出任何贡献.如果有人对如何制作更大的建议有任何建议可能会有很大帮助.

更新:

所以我的解决方案是一个不受欢迎的解决方案,但我的工作日已经被破坏,需要继续前进,所以我只是摧毁了我的盒子并重新开始.

显然,我的钥匙变得不安全了.不确定是怎么回事,但新盒子取代了我的钥匙.

virtualbox ip-address connection-timeout vagrant

7
推荐指数
1
解决办法
8377
查看次数

Node.js服务器超时问题(EC2 + Express + PM2)

我是运行生产node.js应用程序的新手,我最近遇到了服务器超时问题.

基本上经过一定的使用和时间后,我的node.js应用程序停止响应请求.我甚至都看不到路由器在我的控制台上被触发了 - 就像整个事情就停止了,来自我的客户端(运行AFNetworking的iPhone)的HTTP调用不再到达服务器了.但是,如果我重新启动我的node.js app服务器,一切都会重新开始工作,直到事情不可避免地再次停止.该应用程序永远不会崩溃,它只是停止响应请求.

我没有收到任何错误,我已经确保处理并记录所有数据库连接错误,所以我不知道从哪里开始.我认为这可能与内存泄漏有关,所以我安装了node-memwatch并为内存泄漏设置了一个监听器,但是在我的服务器停止响应请求之前不会调用它.

关于可能发生的事情以及如何解决这个问题的任何线索?

这是我的堆栈:

  • AWS EC2 Micro Instance上的Node.js(使用Express 4.0 + PM2)
  • 运行MySQL的AWS RDS卷上的数据库(使用node-mysql)
  • 会话与Redis存储在与node.js应用程序相同的EC2实例上
  • 客户端是通过AFNetworking访问服务器的iPhone

再一次,上述任何模块都没有发生错误.

http amazon-ec2 connection-timeout node.js express

7
推荐指数
1
解决办法
3054
查看次数