7

我开始学习将 Memcached 与 PHP 一起使用,我想知道;您是否应该开始使用它?缓存数据总是更有效,还是只有在您的网站获得一定数量的点击后才会生效?大概有与 Memcached 相关的开销,那么速度优势何时超过此?

提前感谢您的任何建议。

4

4 回答 4

9

当不使用 memcached 开始影响您的站点/服务器时,您应该开始使用它。

因此,当您每天只有 100 位访问者并且您的网站仍能快速响应时,请不要费心使用它。

但是,当您每页的运行时间接近 200 毫秒或更多时,并且网站感觉也很慢时,您应该使用一些 PHP 分析器(XDebug 集成了一个可以与 WinCacheGrind 或 KCacheGrind 结合使用的分析器)来寻找瓶颈。特别是缓存数据库请求应该可以节省一些加载时间。

于 2008-11-20T16:45:42.380 回答
5

性能优化的第一条规则是:在需要之前不要优化!

如果你没有性能问题,那么你不需要优化。其他好的规则包括:

  • 在完成应用程序编写之前不要进行优化。您很少知道在开发过程中会在哪里出现现实世界的性能问题,并且只会让您的代码更加草率,并且在您需要进行更改时更难修改。

  • 使用分析器或其他测量特定代码块的方法来实际测量需要很长时间的内容,并优化这些部分。不要只是猜测什么需要很长时间。实际测量一下。

于 2008-11-20T19:15:35.837 回答
3

如果您使用 MySQL 作为数据库,请在高峰时间在 MySQL 控制台上运行 show processlist 命令。如果有许多来自 PHP 端的查询等待超过 500 毫秒,那么是时候使用 memcached。

于 2008-11-20T20:17:00.863 回答
1

在考虑是否应该使用 Memcached 进行缓存之前,首先考虑要缓存的内容/时间/是否。

当您有一些“对象”用于响应需要大量数据库读取来创建的大量请求时。由于重新创建该“对象”,您的网站无法跟上其负载。您还需要为正在缓存的项目提供一个定义良好的良好键。

您正在缓存的“对象”必须被更频繁地读取,然后用于创建它的数据库行被更改,否则缓存的好处可能会减少在更改一些数据后管理缓存的成本。

缓存单个数据库行不会给您带来匹配的好处。

于 2009-02-27T11:38:43.267 回答