【发布时间】:2012-10-13 19:01:53
【问题描述】:
我已经开发一个网站已经有一段时间了,到目前为止一切都很快而且很好,尽管那是一个活跃的用户。我不知道有多少人会在第一周、第一个月或第一年使用我的网站。
我一直在研究缩放意味着什么以及如何实现它,而缓存似乎是其中的重要组成部分。所以我开始寻找缓存我的内容的方法。目前我刚刚在 XAMPP 中开发了网站。我使用 MySQL 作为数据库,使用简单的 PHP 和 MySQLi 来编辑数据。我还使用 OS X Mountain Lion 中的内置系统消息应用程序做一些简单的日志记录。所以我正在考虑使用Memcache 进行缓存。
这是一个好方法吗?
我如何测试它才能真正看到差异?
我怎么知道即使有更多用户也能很好地工作?
有什么好的基准测试应用吗?
【问题讨论】:
-
有问题吗?另外,请专注于一个问题。唯一有点有趣的是“如何测试我的数据库/模型/缓存的可伸缩性?”
-
@pst 目前没有。但正如我所说,目前只有一个用户。我怎么知道它对成千上万的用户如此有效?是的“如何测试我的数据库/模型/缓存的可扩展性?”主要是我的问题。
-
当您拥有数千名用户时,您将拥有数千名用户。但这不是现在。也不多。几百万,好吧,这很好。从干净的规范化架构开始。如果出现性能问题,[稍后] 将有时间/金钱/理由投入其中。缓存之类的东西通常可以稍后添加或作为单独服务模型的一部分 - 没什么大不了的。如果您不需要水平可扩展性,商品硬件上的垂直可扩展性可以通过良好的架构实现长时间。 (如果您确实需要大规模水平可扩展性,请查看 Twitter 等“示例”。)
-
但是数据库不应该为数百万用户准备吗?这不就是缩放的意义所在吗?
-
是否应该为20名乘客准备摩托车?如果我和我的朋友是唯一会骑它的人,那就不会了。如果以后,我发现需要 20 名乘客,我会买一辆大众小巴。不过,这是一个糟糕的类比,因为 RDBMS can 和 do 可以很好地适应实际数字没有“得到所有幻想”。
标签: php mysql caching scalability