使用CodeIgniter响应db_connect需要很长时间

时间:2013-07-23 14:01:06

标签: php mysql codeigniter

我有一个奇怪的问题,我一直看到我的网络应用程序。我使用PHP和CodeIgniter运行了Master-Slave(3)环境。为了方便和读/写数据库组,我将default组设置为主设备,将replica组设置为从设备。默认情况下,我们使用master来进行读取,因为信息是时间敏感的,不会受到复制滞后的影响。

为了加载replica类以便在我的模型中使用 - 我已经完成了以下操作:

class Api_methods_v4 extends Model {

public $clusterDB;
public $stats;

     function __construct() {
         parent::Model();

        if (is_resource($this->clusterDB)) {

        }
        else {
             $this->clusterDB = $this->load->database('replica', TRUE);
        }       
     }

    ....

}

然后在我的代码中,我指的是引用this->clusterDB->query($sql)实例而不是replica组的命令default

问题是我使用NewRelic来监控我的应用程序,我通常可以通过应用程序获得非常高的PHP峰值,这与此调用有关:

NewRelic Stack Trace

每次都不会发生这种情况 - 但它足以引起关注。我试图创建一个简单的脚本,连接到replica db组1000次,并测量它所需的秒数,而且非常快 - 所以我知道这不是问题。任何人都有这方面的见解,还是有更好的方法来解决这个问题?

0 个答案:

没有答案