首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache、PHP缓存

Apache、PHP缓存
EN

Stack Overflow用户
提问于 2010-11-15 14:10:08
回答 3查看 19.1K关注 0票数 5

我已经使用Curl和PHP设置了一个内部代理。设置如下:

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

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

1)如何确保index.php在代理服务器上的Apache中被永久“调用”?(搜索php缓存,我发现了许多自定义的解决方案,它们将缓存php的"data“输出。我想知道apache中是否有任何预构建模块可以缓存php-script本身?)。

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

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

4) apache是否等待日志写入磁盘,然后再提供内容-如果是,我将禁用代理服务器上的日志记录(或者是否有方法确保内容首先提供,而不等待日志写入)。

基本上,我希望在“代理”服务器上一起消除磁盘i/o。

谢谢,

JP

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-15 15:43:36

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

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

3)如果你激活了.htaccess支持,Apache会在每条路径中搜索到你的php文件。有关详细信息,请参阅Why can't I disable .htaccess in Apache?

4)不是100%确定,但它可能会等待。

票数 6
EN

Stack Overflow用户

发布于 2010-11-15 15:45:43

为什么不使用像Varnish这样的东西,它是专门为这种类型的任务构建的,并且没有Apache的开销?

票数 3
EN

Stack Overflow用户

发布于 2010-11-15 16:10:05

我推荐用"tinyproxy“来表达这篇短文。能非常有效地完成你想要的一切。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4181865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档