我不确定这个问题是属于ServerFault还是StackOverflow,但是由于我在猜测我需要在服务器端debugging这个问题,所以我将使用ServerFault。 问题 我们为我们的一些客户运行共享的虚拟主机服务器。 除了一个客户他们的网站,一切都运行顺利。 大约每周2到3天,我们的显示器检测到一个短暂的停机时间,因为apache在30秒内没有提供页面,而是在60到120秒之间。 我用自己的桌面检查一次,确认:网站持续加载了80秒,然后突然加载。 没有增加的负载,没有更多的请求比正常和服务器上的其他网站加载完美。 我们早些时候遇到了一个特定插件的问题:这个插件与作者的服务器联系,以确认许可证密钥。 当这个服务器无法访问,Wordpress无法继续加载和现在有相同的症状。 我们注意到了这一点,因为有一天他们的服务器closures了几个小时,我们有时间禁用和启用所有的插件,一个接一个。 据插件作者介绍,现在问题解决了。 我有强烈的感觉,我们再次看到同样的问题,也许有相同的插件,也许没有。 但是由于停机时间非常短暂(通常不超过2分钟),所以我不知道如何debugging这个超时错误。 我想到的东西 通常我会一个接一个地禁用插件,但在连接到数据库以禁用插件之前,网站又重新启动了。 由于在停机时间中没有任何模式,所以在发生这种情况时我无法保持等待状态。 Apache日志不显示任何错误:我只能看到来自用户的请求,并看到有一段时间没有服务的文件。 我的第二个想法是在apache进程上运行一个堆栈跟踪。 我很确定这将揭示Apache等待这么久的地方。 但是由于服务器每分钟获得30多个请求,日志文件在几个小时内就会变得非常大,这使我们无法find正确的请求。 相关的服务器规格 CentOS Linux release 7.0.1406 (Core) Kernel 3.10.0-123.el7.x86_64 Apache/2.4.12 with mod_ruid2 PHP 5.4.38 (cli) mysql Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1 All compiled by DirectAdmin 1.48.3 想法? 谁能想到一个很好的方法来debugging这个非常具体的问题? 任何帮助是极大的赞赏! 编辑: 在缓慢的请求期间,慢速查询日志不会报告任何缓慢的查询。
在我们的RHEL5 64位服务器上,服务大容量的10 + GB文件和字节范围请求似乎存在问题。 我注意到的问题是范围请求超过10GB(十千兆字节)标记的范围超时,而在此之前的文件中的任何一点的范围请求是快速的。 我一直在使用java servlet和apache HTTPD(2.2)在tomcat上进行testing,并且两者都失败 如果我设置了一个testing,在每个10GB的范围内执行curl范围请求,那么它在10GB(或者更准确地说,9.313231GB? $ curl -w '%{time_total}\n' –header 'Range: bytes=9999900000-10000000000' http://ourserver.com/bam/file.bam –fail –silent –show-error 22.840 curl: (56) Recv failure: Operation timed out 在这个范围请求总是失败。 文件中10GB之前的任何范围请求非常快,没有错误。 我猜在tomcat和apache中发生的事实让我怀疑它不是apache或tomcat的configuration问题,所以有什么线索可以发生什么? 脚本进行testing #!/bin/bash set -evx begin=9900000000 grab=100000 iter=100000 max=16000000000 url=$1 for i in `seq -f "%.0f" $begin $iter $max`; do i2=$(($i+$grab)) echo -en "$i\t$i2\t"; curl […]
如果在执行之后的某段时间仍然运行,我希望(许多)进程被杀死。 首先,我认为Solaris的资源pipe理是工作的完美工具,因为在处理组中实施限制似乎是自然的。 所以我build立了一个项目 my_project:1000:testing project:::project.max-cpu-time=(priv,18000,signal=XCPU,syslog=err);rcap.max-rss=2651953561;task.max-cpu-time=(priv,30,signal=XCPU),(priv,90,signal=KILL) 然而, *.max-cpu-time资源控制似乎只计算在计算过程中花费的时间,所以例如等待input的程序将无限运行。
我希望有人能够引导我如何追踪这个问题的正确方向。 我最近在服务器上安装了HHVM,并使用PHP作为后备。 从那以后,我一直在WPpipe理问题。 当我尝试发布或更新一篇文章,我的连接超时在2米,在我的NGINX错误日志中,我看到这个: recv() failed (104: Connection reset by peer) while reading response header from upstream, client 我弄不明白的是为什么它发生在我身上,而不是我的服务器pipe理服务或者我的作家谁都试过,没有这个问题。 我已经做了traceroute和ping到我的服务器,并没有显示延迟问题。 我尝试了不同的浏览器,我改变了我的DNS,而且我尝试了通过VPN连接,我仍然有同样的问题。 除此之外,我没有任何问题。 这是一个拥有大量资源的专用服务器,只有在安装HHVM之后才能启动。 pipe理面板变得非常缓慢,直到Redis安装,但这并没有帮助超时的问题。 我最初没有超时,但是现在我不能在没有超时的情况下发布或更新,但是数据确实保存到了数据库中。 有没有其他的方法可以找出问题的症结所在,或者有什么问题可以解决?
我有一个从bigrock.com多域linux的托pipe,我运行3个WordPress的网站。 过去两天我面临一个问题。 如果有人能提供一些build议,我将不胜感激。 我的网站: http://techieme.in http://shallwetalk.in http://taxadvices.in 我能够从我的智能手机(使用3G时)访问网站和pipe理面板。 我能够从我的笔记本电脑(连接到WIFI)访问网站只需10秒左右,然后开始抛出请求连续超过5分钟。 之后,我可以再次访问我的网站大约10秒,同样的事情重复。 我怎么知道这是五分钟? 我从我的命令窗口运行一个连续的ping请求,大概5分钟后它开始获得ping回复。 我到现在为止试过了什么? 将我的路由器重置为出厂默认设置 清除我的ARPcaching 刷新DNScaching 几个指针: 如果我在我的托pipe服务上访问cPanel相关的东西,那绝对没有问题。 我最近没有更新或添加任何插件到我的网站。 当通过WIFI连接时,我无法通过智能手机使用我的网站。 我的networking中的所有计算机(3台笔记本电脑)都显示相同的行为。 我试图使用我的手机的热点networking(这是3G连接支持)连接我的笔记本电脑,我相信它仍然无法正常工作。 (无法完全validation)
我运行自己的在线业务,并使用wordpress.org为其他人pipe理十几个自己托pipe的网站。 平台。 他们都是由英国的一家小公司托pipe的,如果遇到任何问题,公司通常会很快把它们整理出来。 然而… 现在,使用Chrome或Safari(在iMac和PC上),当试图login到wp-admin时,我收到消息ERR_CONNECTION_TIMED_OUT; 或者即使我只是想查看网站。 这不是第一次发生,我已经做了所有常见的事情 – 清除浏览器caching,双重检查Wi-Fi连接,使用一个“是否它只是我”网站等等。 ,这些站点可以从其他地方访问(但是这并不能帮助我,我生活在工作中)。我做了ping和traceroute,并将我的托pipe服务提供者复制到这些目录中(还没有回复)。 我可以使用代理(例如anonymouse)访问网站,但不能以这种方式编辑它们。 无论如何,这不会是一个很好的解决scheme,我希望能够使用Chrome或Safari。 任何任何想法?
我在同一虚拟networking上有两台Azure虚拟机。 一个虚拟机运行一个负责MySQL操作的NodeJs进程。 其他虚拟机运行一个MySQL实例。 我可以从另一个虚拟机和NodeJs进程连接到它。 有时它会失败,并从池中获取连接时出现关于连接超时的错误。 我的连接string使用虚拟networking内的本地IP地址访问数据库,所以它应该有这么多的延迟超过10秒的超时。 当它工作的时候很快,我的意思是非常快! 但是有时它只是rest,随机开始工作。 有人遇到过这个? 如果有任何帮助,这是一个基于Ubuntu Server 15.10的MySQL实例。 例外: { "error": { "name": "Error", "status": 500, "message": "connect ETIMEDOUT", "errorno": "ETIMEDOUT", "code": "ETIMEDOUT", "syscall": "connect", "fatal": true, "stack": "Error: connect ETIMEDOUT at PoolConnection.Connection._handleConnectTimeout (projectdir/node_modules/loopback-connector-mysql/node_modules/mysql/lib/Connection.js:375:13) at Socket.g (events.js:180:16) at Socket.EventEmitter.emit (events.js:92:17) at Socket._onTimeout (net.js:327:8) at Timer.unrefTimeout [as ontimeout] (timers.js:412:13) ——————– at Protocol._enqueue […]
TL; DR:通过Apache ReverseProxy将超过5分钟的Web任务出错。 时间较短的任务/报告成功。 直接访问报告成功( http://internalserver/foobar.aspx而不是http://public.mycompany.com/foobar.aspx )。 我应该在哪里看,我缺less什么超时? 我有一个Apache实例切换到HTTPS,然后ProxyPassing一个请求沿着它的快乐方式…到Windows Server 2012 R2 IIS 8实例。 Browser <==> Apache 2.2.15 <==> IIS 8 (Windows 2012 R2, IIS 8.5.9600.16384) <==> Web App (<==> database) 一切都只是厚脸皮 – 直到一个“长时间运行”的报告被启动。 直接在Windows服务器上运行时,报告需要大约6分钟。 当从浏览器运行时,更短的报告成功 – 但这最终失败。 网页错误: 502 Proxy Error Proxy Error The proxy server received an invalid response from an upstream server. […]
部分解决scheme 事实certificate,3128端口上的stream量在我的VPS路上正在消失。 我不知道这是Linode阻塞这个端口,还是在这个端口之间。 (我在其他云上使用过这个代理,而且工作。) 更改端口为53128,它的工作。 但是,我怎样才能探测端口3128来检查包裹掉落的地方? 肯定是在他们到达我的VPS之前。 问题 我在运行CentOS 6.7的VPS中安装了一个squid代理设置,以允许我在多个群集节点之间共享Web会话。 此代理正在云中工作,并且当所有节点都在同一个专用networking192.168.0.0/24一切正常。 这个星期,我在家里部署了几台服务器来做一些非常长的批量工作,而且我需要通过我的代理进行连接。 然而,鱿鱼超时在我的公共界面。 我的squid.conf几乎允许每个传入连接,因为我通过iptables限制。 但是,即使防火墙已停止,我也无法通过Internet连接到我的代理服务器。 testing来自VPS群集的连接 注意:公有IP和主机名有意省略。 $ curl –proxy PUBLIC_HOSTNAME:3128 -v google.com.br * About to connect() to proxy PUBLIC_HOSTNAME port 3128 (#0) * Trying PUBLIC_IP… connected * Connected to PUBLIC_HOSTNAME (PUBLIC_IP) port 3128 (#0) [ OUTPUT OMITTED ] * Connection #0 to host PUBLIC_HOSTNAME […]
解决 :问题是,通过hostgator使用服务,出于某种原因,用户必须使用主要dsn名称而不是SMTP域名login。 我正在使用简单的PHP mail()函数发送电子邮件,它工作正常,但它不需要login到SMPT服务器。 当我移动到PHPMailer库时,我编写了这个代码来发送电子邮件,但是当尝试执行此login时,我有超时。 根据hostgator的信息,SMTP服务器(使用SSL / TSL)在端口465 。 所以我写道: $mail = new PHPMailer; $mail->SMTPDebug = 3; $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'mail.mydomain.com'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = '[email protected]'; // SMTP username $mail->Password = 'pass'; // SMTP password $mail->SMTPSecure = […]