【发布时间】:2011-10-24 06:28:24
【问题描述】:
好吧,我已经构建了一组运行表,这些表旨在以更少的连接运行,但我想保留我的规范化数据库。当我的网站流量很大时,有没有办法在它们之间切换?
【问题讨论】:
标签: mysql server-load
好吧,我已经构建了一组运行表,这些表旨在以更少的连接运行,但我想保留我的规范化数据库。当我的网站流量很大时,有没有办法在它们之间切换?
【问题讨论】:
标签: mysql server-load
如果是为了简化您的查询,您可能希望create a view 反过来可以捆绑一些连接。
【讨论】:
创建一个全局变量,每次访问页面时递增并重置为 0,每次递增每分钟递增 1,称为“pages_accessed_per_minute”。
创建一个带有两个参数的函数,一个是上面提到的全局参数,另一个是油门的限制:throttleOn('pages_accessed_per_minute', '1000')。
如果每分钟访问的页面数增加到超过某个点(在本例中为 1000 个),则换入使用其他数据库的备用 php 脚本。
if throttleOn('pages_accessed_per_minute', '1000') == true){
include_once('dbAccess1.php');
}
else{
include_once('dbAccess2.php');
}
不过,我不能 100% 确定我正确使用了 include_once。
我还发现大多数服务器都有一个日志符号链接到共享主机上的用户主目录。可以使用$tail -f(命令行)实时监控这些日志。这比轮询要好,因为服务器可能会变得很忙,而当这种情况发生时,最好依靠钩子。
【讨论】:
问:有没有办法在它们之间切换? 答:当然 - 只需重定向到不同的 PHP 页面,该页面对不同的表集执行不同的查询。
...然而...
问:您将如何使表格保持同步?
问:有什么机制可以提醒您“您的网站有大量流量”?
【讨论】:
您可以“在生产中”执行此操作,但请记住,这可能很快变得至关重要!
【讨论】:
alter 吗?
alter。这些表已经设置了适当的列。我在生产中填充所有表。