PHP - 什么是更快,memcache或要求?

时间:2010-06-04 22:29:54

标签: php memcached require

我正在尝试加载预定义的电子邮件消息以发送出去 - 我的问题是,我应该记录所有电子邮件消息,而不是仅包含包含电子邮件消息的变量的文件,并且只调用一次一天还是什么?

2 个答案:

答案 0 :(得分:5)

Memcache在单独的进程/请求中进行大量读取非常方便,您是在发送大量不同的进程还是批量发送?在后一种情况下,忘记memcache。

本地包含非常快,如果您经常访问该文件,您的操作系统甚至会为您缓存该文件,从内存中有效读取它。没有测试就无法判断,但我认为最大的速度增益是将文件放在操作码缓存中(例如APC):原生格式&在记忆中。

然后,如果文件包含是您代码中的瓶颈,我会感到惊讶,特别是如果您正在邮寄。非常了解优化规则#1:不要解决不存在的性能问题。

答案 1 :(得分:2)

嗯,这是一个非常难以回答的问题。有很多变数岌岌可危。

对这些数据有很多要求(当我说了很多,我的意思是每秒超过一两次)?如果是这样的话,Memcache会得到一点......

您的硬盘是否具有高性能(SCSI或SAS,RAID 0或10)?如果是这样,文件可能会得到一个点。

你有很多内存吗?如果是这样,操作系统可以缓存更多文件数据,因此文件需要更少的驱动器活动。

你有很多这些预定义的消息吗?如果是这样,Memcache的索引可能会有所不同......

您的Memcache服务器是否只在localhost上?如果没有,Memcache将失去网络延迟点。

底线是这个。除非你正在进行TON查找(每秒很多),否则要么快(在合理范围内,在10到20毫秒之内)。就个人而言,除非您每秒执行超过10次EMAIL查找,否则请坚持使用文件方法。它更容易维护(如果需要重新启动,您不必担心刷新Memcache),并且更容易调试。记住:保持简单......