【问题标题】:best practice to handle Too many mysql connections处理太多mysql连接的最佳实践
【发布时间】:2013-02-17 20:43:57
【问题描述】:
<?php
// Connect to mysql server
$link = mysql_connect(HOST, USER, PASSWORD);
if(!$link) {
    die('Could not connect to server: ' . mysql_error());
}

// Select database
$db = mysql_select_db(DATABASE);
if(!$db) {
    die('Cannot use the database');
}
mysql_set_charset('charset=utf8', $link); 

//code

?>

我是 php 初学者。我编写了一个简单的 php HTTP API,它从数据库中读取一些数据并在正文中返回。许多使用应用程序异步访问此 API。当我们每秒增加超过 200 个用户时,我会收到以下警告

PHP Warning:  mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Too many connections in /home/ws/public_html/include/get_details.php on line 3

我想知道它的最佳解决方案。

谢谢

【问题讨论】:

  • 您在使用共享主机吗?还是?
  • 购买更多带宽、服务器功率?
  • 所以我看到了mysql_connectmysql_select_db。你到底是不是也mysql_close最后的连接??
  • 你可以组织一个连接池。
  • 我正在使用带有 Intel® Nehalem Quad-Core 2 x E5506 2.13GHz 16GB 2 × 1000GB SW RAID 1 的专用服务器来自iweb.com/smart-server-hosting/overview

标签: php mysql web-services http


【解决方案1】:

首先您可以使用mysqltuner 来检查您的数据库状态。其他解决方案,使用 redis 或 memcache 来减少连接。如果您将会话存储在 DB 中,请尝试更改并使用 redis。phpredis

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 2016-02-26
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多