我正在寻找一个服务器范围的设置超时与Apache 2.2下的mod_perl脚本,类似于php中的max_execution_time 。 超时可以用$SIG{ALRM}完成,但是它需要修改每个perl脚本,并且与sleep()不兼容。 Apache有一个TimeOutconfiguration指令 ,但是它对mod_perl没有影响。 使用TimeOut 5 ,在打印任何内容之前睡眠10秒的testing脚本不会发生超时。 Apache2::ServerRec模块有一个timeout()方法,但它只是获取/设置Apache的TimeOutvariables的值,因此对mod_perl也没有影响。 如何做呢? 如果无法完成,mod_perl中超时的最佳做法是什么?
我将Apache作为HTTPS反向代理运行,其中许多实际主机通过单个VirtualHost(单个公共IP,通配符证书)使用mod_rewrite和mod_proxy进行代理。 基本上是这样的: <VirtualHost *:443> SSLEngine On … RewriteEngine On RewriteCond %{SERVER_NAME} ^(server1|server2|server3)\.domain\.net$ RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [P] # Forward requests for listed servers RewriteRule ^.*$ – [F] # Block anything else </VirtualHost>` 现在,我需要将Timeout设置为比默认值更大的值,但仅限于发送到其中一个服务器(用于移动设备的同步服务器)的请求。 这可以做到不需要一个单独的VirtualHost(从而另一个公共IP)?
问题 从Nginx的memcached后端定期超时(请参阅下面的示例错误) 事情已经testing: 它在本地和远程memcached服务器上都会出现,所以networking不会成为问题 它同时发生在memc和memcached后端 无论是否有上行Keepalive模块,都会发生 它发生在nginx 0.8,1.0.x和1.1.x 缓冲日志似乎稍微减less了错误的数量,但它们仍然存在,这可能只是巧合 通过udp(即非阻塞)login到另一个没有任何区别 其他信息: memcached服务器每秒从这个和其他(远程)客户端处理约500个请求 memcached日志中没有错误/报告 使用以下设置启动memcached: tcp和udp都启用(目前只使用tcp) 16GB的内存 16个线程(在32核心机器上) 限于8192个连接 通过supervisord以non-daemonic模式启动 服务器运行FreeBSD 8.2 超时发生在低负载和高负载(现在每秒只有大约50个请求) 这个问题 所以我的问题是…我怎么能debugging这些问题? 任何人都有一个想法的根本原因可能是什么? 错误不会持续发生,但会频繁出现在每隔几分钟的日志中。 来自日志的示例错误: 2011/08/30 17:23:34 [error] 13921#0: *38602 upstream timed out (60: Operation timed out) while reading response header from upstream, client: xxxx, server: some.host.com, request: "GET /some_random_file HTTP/1.1", subrequest: "/memc_get", […]
Web服务器是带有IIS 6的Windows Server 2003.Web服务是运行在.NET 4.0中的ASMX。 当以名为“ALBERT”的域用户的身份调用Web服务时,一切正常。 POST http://elvis.ecq.local/sems/Services/DecVotingService.asmx HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.225) Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/GetEventDivisions" Host: elvis.ecq.local Content-Length: 449 Expect: 100-continue Connection: Keep-Alive <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetEventDivisions xmlns="http://tempuri.org/"><eventID>165</eventID><isGroupEvent>false</isGroupEvent><roUserName>ALBERT</roUserName><CHKSUM>3dcdaea4f9dbcaac689a4ce19c0fcd97</CHKSUM></GetEventDivisions></soap:Body></soap:Envelope> 当使用域用户'DALRYMPLE'完成相同的调用时,请求超时。 POST http://elvis.ecq.local/sems/Services/DecVotingService.asmx HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.225) […]
我最近更新了从2000版本到2005年的MSSQL服务器,以便利用UDF并调整系统中的某些结果。 问题是我们没有源代码。 所以,我replace了SQL版本,每一个工作正常…除非我们必须做一个大的查询。 我得到这个错误: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 我已经search了它,我得到的是,它使用的是一个CommandTimeout问题,我必须以编程方式解决,因为它应该是在客户端,但这很奇怪,因为它一直工作,即使大查询。 有什么办法来消除任何超时? 该系统是完全内部的,只有less数人使用它,所以没有中断的风险…我更喜欢一个查询永远运行这个烦人的消息。 提前致谢!
我正在运行一个经常挂起而不响应的cron作业。 在stackoverflow中提到了同样的问题 我需要这个答案中build议的centos超时命令。 链接为Ubuntu的超时命令 。
我使用以下configuration启动了Windows上的Virtuoso服务(这是configuration文件的重要部分): ResultSetMaxRows = 10000 MaxQueryCostEstimationTime = 40000 ; in seconds MaxQueryExecutionTime = 60000 ; in seconds DefaultQuery = select * where{?x ?y ?z} DeferInferenceRulesInit = 0 ; controls inference rules loading 我正在使用dotNetRDF库对本地服务器进行本地查询。 库使超时30秒,但我可以通过发送一个连接string启动对象时覆盖默认超时: VirtuosoManager manager = new VirtuosoManager("Server=localhost;Uid=dba;pwd=dba;Connection Timeout=500"); 它仍然超时30秒,如果我的查询足够复杂,可以处理30秒以上… 我的项目使用一些复杂的查询,所以我需要尽可能大的超时属性。 我如何覆盖该属性?
首先我尝试解释我的服务器环境。 我有两个虚拟服务器,主机服务器是Ubuntu。 邮件服务器是安装在本教程中的Debian Squeeze: http : //workaround.org/ispmail/squeeze 。 一切都很好。 只有一个大问题让我辛苦工作。 我无法从我的邮件服务器连接到邮件服务器“mail.swisscom.com”。 我的邮件服务器是“mail.pixelwolf.ch”。 从瑞士电信的邮件服务器,我无法收到或发送电子邮件到我的服务器(pixelwolf)。 从我的服务器到Swisscom,我无法接收或发送消息。 好的,我尝试了以下的事情: DNS检查(确定,DNS可以解决) 路由(确定,traceroute和mtr显示正确的路由) 从其他人发送/接收邮件(确定,从3个不同的邮件服务器testing) Telnet到mail.swisscom.com(不行,有一个连接超时) TCPdump显示与mail.swisscom.com的连接,但是没有从Swisscom到Pixelwolf的连接。 在瑞士电信的交换账户上有一个延迟信息,12小时后有一个“无法传送”的信息。 它说pixelwolf.ch有永久的致命错误。 在我这边,我的邮件服务器说有一个连接超时,Postfix试图在未来5天内发送邮件。 第一个问题昨天下午3点出现。 服务器是非托pipe的,我甚至试图解决与托pipe中心hetzner.de问题,他们说没有错误在他们这边。 瑞士电信表示,他们不能看问题,因为公司太大(超过2万名员工)。 那我能做什么? 我的老板不能寄给我邮件,我不能寄给他邮件。 更新:我的服务器没有列入任何垃圾邮件黑名单像Spamhaus或Spamcop黑名单。
看来set_time_limit函数调用没有效果时,PHP运行与mod_fcgid(webmin中的默认值)。 有人能告诉我如何使其工作?
大家早, 我在MS SQL Server 2000中遇到查询超时问题。它被用作Intuitive ERP(一个基于MS Access的相当老的ERP系统)的后端。 我的问题是,执行计划计算时,执行大量查询的进程,我们遇到SQL超时错误。 我最初使用分析器来确定有问题的查询(一个DELETE查询),并在再次运行之前手动执行,这似乎工作。 但是,在后续运行中,它会在稍后阶段超时。 在我的经理接手时,细节有点粗略,但是从她告诉我的情况来看,我会猜测它是一个SELECT或INSERT查询。 直接在服务器上执行任何这些查询(使用企业pipe理器)每次都会产生及时的响应,似乎没有理由超时。 我意识到这是没有太多的继续,所以我想我的问题是什么样的事情可以导致查询超时? 过去我们遇到过磁盘空间问题,但这不是问题。 我也检查了networking连接:ping回来约1ms,所以不应该是这个问题(此外,探查器显示失败的查询,作为过量的时间,build议iit是在服务器端的东西) 。 谢谢你的时间。