服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

DNS失败崩溃的网站 – CURL请求

我的PHP不断抛出与缓慢脚本有关的随机错误。 nginx / php5-fpm在错误日志中报告由于脚本超时而导致子节点被终止。 PHP5-FPM慢速错误日志报告的问题是我做的curl请求。 困惑,因为我使用连接超时所有我的curl请求例如 CURLOPT_CONNECTTIMEOUT 3 #number of seconds trying to connect CURLOPT_TIMEOUT 3 #number of seconds to run curl for 这是一个生产服务器,所以价值很低,我们希望在1秒内做出回应。 所以我意识到我们用于CURL的URL必须在DNS层失败。 所以我模拟了一个坏的DNS或不可用的DNS,我能够在我的日志中重现相同的错误和缓慢的脚本消息。 那么,我该如何处理呢? 1)CURLOPT_DNS_CACHE_TIMEOUT – 但增加默认从2分钟说10分钟? 不过,我确实看到,在我的错误,我有这些慢脚本2分钟和3秒准确…这表明CURLOPT_DNS_CACHE_TIMEOUT默认2分钟正在caching一个坏的响应,这是无论多久的caching设置。 时间似乎很方便忽略,但我可能是错的。 它会caching一个坏的DNS /不可用的DNS? 2)以某种方式编辑我的DNS名称服务器以允许多个DNS服务器。 然而,我编辑我的resolv.conf文件,并将openDNS添加到现有的名称服务器。 但我把一个虚假的DNS第一个1.1.1.1,它仍然没有给我一个网站上的错误的网关错误。 为什么不select另一台服务器来获得响应? 我认为添加多个服务器将sorting它,但它仍然在阅读列表中的第一个和失败。 我认为curlcaching可能caching不好的反应,但我不知道。 理想情况下,我保持caching,以减less查询IP的延迟。 任何build议如何我可以解决一个不可用的DNS服务器崩溃我的PHP脚本/curl请求? 谢谢

如何检测我的硬盘是否configuration了RAID?

我不确定这个问题是否完全合理。 我试图找出服务器是否configuration了RAID。 该设备是惠普Proliant SCSI,但这就是我所知道的,这是一个太字节的驱动器。 我已经使用PC向导 ,但我相信它崩溃的服务器(内核错误,根据日志) 对于这个问题,这可能不是必要的,但是我会尝试用引导询问这个问题的经验来构思我的问题。 我一直在试图监视驱动器和计算机,我没有configuration的性能。 服务器在Microsoft SQL Server中经历了大量的WRITELOG等待(大约800到900 ms / sec),而且由于RAM和处理器似乎没有任何负载,因此我将问题缩小到磁盘瓶颈。 我相信正在使用的硬盘没有针对每秒的高级写入进行优化。 每4分钟发生一次的SQL检查点通常会告诉我,它的写入速度低于每秒兆字节,延迟30ms,大约有100个上下文切换。 如果驱动器configuration为RAID 0或O + 1,则应该快得多。 我注意到的另一件事是磁盘队列盘旋或平均在1左右,偶尔会高达2,偶尔会更高(在SQL检查点期间) 这使我相信只有一个硬盘主轴正在移动,或者如果configuration了RAID,它必须是RAID 1(镜像),这意味着它没有configuration为我需要的性能types。 我将其与运行Dell驱动器的另一台服务器进行了比较,我可以确定使用PC-Wizardconfiguration了RAID来检查性能。 我的SQL日志说,检查点运行速度超过20 MB /秒,0延迟(平均less于一毫秒)而这种performance发生在一台服务器上,同样多的写作,但一半的内存,4倍的less处理器。 我需要一个不显眼的方式来确定RAIDconfiguration是否正确,无需重新启动服务器来检查BIOS,也不需要使用PC-Wizard。 希望Windows 2008 Server R2能够检测RAID。 所以,最后的问题总结:如何检测Windows 2008 Server R2上的RAIDconfiguration,而不使用BIO,没有PC向导。