我一直在开发一个网站已有一段时间了,到目前为止,一切都快速而且好,尽管这是一个活跃的用户。我不知道有多少人会在第一周,一周,一个月或一年中使用我的网站。
我一直在研究扩展意味着什么以及如何实现它,缓存似乎是它的重要组成部分。所以我开始寻找缓存内容的方法。目前我刚刚在XAMPP开发了这个网站。我使用MySQL作为数据库,使用MySQLi编写简单的PHP来编辑数据。我还简单地使用OS X Mountain Lion中的内置系统消息应用程序进行日志记录。所以我正在考虑使用Memcache进行缓存。
这是一个好方法吗?
我如何测试它才能真正看出差异?
我怎么知道即使有更多用户它也能很好用?
那里有没有好的基准测试应用程序?
答案 0 :(得分:3)
有很多方法可以确保数据库可以很好地扩展,但我认为最重要的部分是为表定义适当的索引。 至少外键字段应该定义索引。
例如,如果您有一个大型论坛,您可能会有一个主题表,如下所示:
topic_id | name
---------+--------------------------------
1 | "My first topic!"
2 | "Important topic"
3 | "I really like to make topics!"
... | ...
7234723 | "We have a lot of topics!"
然后是另一个包含主题中实际帖子的表格:
post_id | user | topic_id
---------+------------+---------
1 | "Spammer" | 1
2 | "Erfa" | 2
3 | "Erfa" | 1
4 | "Spammer" | 1
... | ... | ...
87342352 | "Erfa" | 457454
在应用程序中加载主题时,您希望加载与主题ID匹配的所有帖子。在这种情况下,您无法查看所有数据库行,因为它们太多了!幸运的是,您不必做太多工作来确保完成此操作,您只需要为字段topic_id创建一个索引就可以了。
这是使数据库扩展得很好的一个非常基本的事情,但由于它非常重要,我真的认为有人应该提到它!
答案 1 :(得分:2)
获取并使用jMeter。
使用jMeter,除了确认当前没有任何错误之外,您还可以测试回复的快速响应以及页面的加载方式。这样你就可以模拟大量的负载;在进行调整时看到实际的性能更新,例如使用memcache。