Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缩放phpBB?_Php_Mysql_Scaling_Phpbb - Fatal编程技术网

缩放phpBB?

缩放phpBB?,php,mysql,scaling,phpbb,Php,Mysql,Scaling,Phpbb,我希望通过将读查询和写查询分离到两个独立的、复制的MySQL服务器来扩展现有的phpBB安装。有人成功地做到了这一点,特别是与phpBB 到目前为止,我最大的担忧是,查询似乎散落在整个代码中。我很想知道是否有其他人这样做,如果是的话,是怎么做的/过程是什么。您可以尝试一种简单的方法,在不更改应用程序的情况下拆分查询。只需添加更多RAM即可。足够的RAM来容纳整个数据库。您会惊讶于低效脚本的运行速度。内存可以原谅许多数据库缩放错误。我知道这是很久以前提出的问题,但我想与大家分享我的经验,以防对任何

我希望通过将读查询和写查询分离到两个独立的、复制的MySQL服务器来扩展现有的phpBB安装。有人成功地做到了这一点,特别是与phpBB


到目前为止,我最大的担忧是,查询似乎散落在整个代码中。我很想知道是否有其他人这样做,如果是的话,是怎么做的/过程是什么。

您可以尝试一种简单的方法,在不更改应用程序的情况下拆分查询。

只需添加更多RAM即可。足够的RAM来容纳整个数据库。您会惊讶于低效脚本的运行速度。内存可以原谅许多数据库缩放错误。

我知道这是很久以前提出的问题,但我想与大家分享我的经验,以防对任何人都有帮助

如果您的问题是表锁,并且知道当时phpbb的默认存储引擎是MyISAM,那么您是否考虑过转移到InnoDB存储引擎


只需找出哪些表最常被锁定,然后将它们转换为InnoDB。sessions表是这里的第一个候选表,尽管如果这是您的主要瓶颈,您可能希望查看其他优化(例如仅将会话数据存储在memcache中或其他内容)。

有点好奇为什么要这样做。。您是否做过一些基准测试,表明继续这样做是对简单负载平衡流量的一种胜利?它将与基本负载平衡并行进行。“我们期望在很短的时间内,来自世界各地的流量会达到惊人的水平,并且需要改造现有系统。@Scott Evernden将读写分离到不同的物理数据库服务器是高度事务性系统的常见良好做法。表锁定发生在一个线程向一行写入时,这意味着在写入完成之前,所有其他线程都无法从中读取。通过将读取转移到副本从机(副本从机只在提交后将新数据发送给副本从机),这意味着读取不必等待。这是我现在正在研究的问题。谢谢。这个逻辑只适用于此。我们有一些web应用程序运行在具有128GB RAM、32核等的服务器上,但即使这样也不足以容纳整个数据仓库。