当前位置:  开发笔记 > 编程语言 > 正文

Apache,PHP缓存

如何解决《Apache,PHP缓存》经验,为你挑选了1个好方法。

A使用Curl和PHP设置内部代理类.设置如下:

代理服务器是一个相当便宜的VPS(有时有慢速磁盘i/o).对此服务器的所有请求都由单个index.php脚本处理.index.php从另一个快速服务器获取数据并显示给用户.

两台服务器之间的数据传输速度非常快,瓶颈只是代理服务器上的磁盘i/o.由于只有一个index.php - 我想知道

1)如何确保index.php在代理服务器上的Apache中被永久"限制"?(谷歌搜索php缓存,我发现许多自定义解决方案将缓存php的"数据"输出我想知道是否有任何预构建模块在apache中将缓存php脚本本身?).

2)数据是从代理服务器上的RAM /缓存中始终从后端服务器获取的吗?(假设有足够的内存)

3)apache在处理请求时是否从磁盘读取任何配置文件或其他文件?

4)在提供内容之前,apache是​​否等待将日志写入磁盘 - 如果是这样,我将禁用代理服务器上的日志记录(或者是否有办法确保首先提供内容而无需等待日志写入).

基本上,我想在'代理'服务器上一起消除磁盘i/o.

谢谢,

J.P



1> NSSec..:

1)安装APC(http://pecl.php.net/apc),这将编译您的PHP脚本一次并将其保存在共享内存中,用于Web服务器进程(或给定的TTL)的生命周期.

2)如果你的脚本获取数据并且没有将它缓存/存储在文件系统上,它将在RAM中,是的.但仅限于请求的持续时间.PHP使用"无共享"策略,这意味着在请求之后释放所有内存.如果您确实在文件系统上缓存数据,请考虑使用memcached(http://memcached.org/)来绕过文件i/o.

3)如果您激活了.htaccess支持,Apache将搜索通往您的php文件的每个路径中的那些.请参阅为什么我不能在Apache中禁用.htaccess?了解更多信息.

4)不是100%肯定,但它可能会等待.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有