Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输出带有IIS8的缓存.PHP文件-到第一个字节的时间_Php_Wordpress_Caching_Output_Iis 8 - Fatal编程技术网

输出带有IIS8的缓存.PHP文件-到第一个字节的时间

输出带有IIS8的缓存.PHP文件-到第一个字节的时间,php,wordpress,caching,output,iis-8,Php,Wordpress,Caching,Output,Iis 8,我有一个VPS,有4个内核和5 GB的RAM,带有Windows Server 2012和IIS8。我在上面运行一个WordPress站点,MySQL是一个InnoDB数据库,MySQL已经获得了大约70%的可用RAM用于缓存/缓冲,这非常好。我启用了Wincache,基本上除了.php文件之外,其他所有文件都启用了输出缓存。我的第一个字节的时间是1400-1800毫秒,在我看来这太慢了 我为所有PHP文件启用了输出缓存,这将它减少到8ms。完美的或者我是这么想的。。。当然,因为它现在正在缓存整

我有一个VPS,有4个内核和5 GB的RAM,带有Windows Server 2012和IIS8。我在上面运行一个WordPress站点,MySQL是一个InnoDB数据库,MySQL已经获得了大约70%的可用RAM用于缓存/缓冲,这非常好。我启用了Wincache,基本上除了.php文件之外,其他所有文件都启用了输出缓存。我的第一个字节的时间是1400-1800毫秒,在我看来这太慢了

我为所有PHP文件启用了输出缓存,这将它减少到8ms。完美的或者我是这么想的。。。当然,因为它现在正在缓存整个PHP文件,所以不会加载任何后续页面。这是因为WordPress将后续页面作为查询加载,而不是作为新文件加载

我不得不完全关闭PHP文件的输出缓存,但似乎找不到任何其他解决方案来缩短到第一个字节的时间/响应时间。这里有没有人对使用Wincache或输出缓存来实现我之前的~8ms结果有什么好的建议


任何开箱即用的建议也非常感谢

在经历了许多头痛之后,我终于找到了这个缓慢的TTFB的大部分来源。PHP/IIS8的MySQL驱动程序MySQLnd出现故障。由于AAAA(IPv6)记录优先于A(IPv4)记录,“localhost”将返回IPv6地址。由于PHP中的MySQL驱动程序(mysqlnd)无法处理IPv6地址,因此在尝试通过IPv4连接之前,它必须先超时

我把我的TTFB从1400-1800毫秒减到了200-400毫秒,已经好了很多。其余的我可以归因于.css/.js调用和其他东西

要解决上述问题,请使用127.0.0.1或gethostbyname('localhost')代替“localhost”,因为此函数将始终返回IPv4地址。后者是更好的解决方案,因为您可能希望有一天使用主机名连接到外部MySQL DB


希望这能帮助其他人解决TTFB问题

尽管我设法“修复”了这个问题。请随时添加更多建议,进一步降低TTFB!