当我的网站有大量流量时,如何更改我使用的表格?

时间:2011-10-24 06:28:24

标签: mysql server-load

好吧,我已经构建了一组运行的表,这些表意味着以较少的连接运行,但我希望保持规范化的数据库。当我的网站有大量流量时,有没有办法在它们之间切换?

4 个答案:

答案 0 :(得分:1)

创建一个每次访问页面时递增的全局,并将每个递增称为“pages_accessed_per_minute”的每分钟递减1递减0.

创建一个带有两个参数的函数,一个是上面提到的全局参数,另一个是节流限制: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(命令行)实时监视这些日志。它比轮询更好,因为服务器可能会变得很忙,并且最好在发生这种情况时依赖于钩子。

答案 1 :(得分:1)

如果是为了简化您的查询,您可能希望create a view 反过来可以捆绑一些联接。

答案 2 :(得分:0)

你可以“在生产中”这样做,但请记住,这可能会非常快速地变得至关重要!

  • 通过添加所需的其他列来更改表格。
  • 填充新列(使用脚本,以便您可以控制每次触摸的行数,以确保不会产生太多负载)
  • 使用新结构更改您的(网站)脚本。最好的方法是同时更新所有脚本。
  • 重新运行“populate-script”以确保所有行都采用新格式
  • 删除不必要的列/表

答案 3 :(得分:0)

问:有没有办法在它们之间切换? 答:当然 - 只需重定向到另一个PHP页面,该页面对不同的表格集进行不同的查询。

......但是......

问:你怎么能保持表同步?

问:有什么机制可以提醒您“您的网站有大量流量”?