Pra*_*rat 1 installation exception report magento
我不知道为什么,但是昨天工作正常的Magento装置现在还不行.
它显示如下:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: 1017219017231
Run Code Online (Sandbox Code Playgroud)
我在/ var/report中检查此日志记录的情况.1017219017231
a:5:{i:0;s:43:"SQLSTATE[08004] [1040] Too many connections";i:1;s:1633:"#0 /data/htdocs/xyz.com/magento/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /data/htdocs/xyz.com/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(251): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /data/htdocs/xyz.com/magento/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 /data/htdocs/xyz.com/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 /data/htdocs/xyz.com/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(333): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/Resource/Type/Db/Pdo/Mysql.php(45): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/Resource.php(93): Mage_Core_Model_Resource_Type_Db_Pdo_Mysql->getConnection(Object(Mage_Core_Model_Config_Element))
#7 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(83): Mage_Core_Model_Resource->getConnection('core_setup')
#8 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(160): Mage_Core_Model_Resource_Setup->__construct('core_setup')
#9 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/App.php(399): Mage_Core_Model_Resource_Setup::applyAllUpdates()
#10 /data/htdocs/xyz.com/magento/app/code/core/Mage/Core/Model/App.php(329): Mage_Core_Model_App->_initModules()
#11 /data/htdocs/xyz.com/magento/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#12 /data/htdocs/xyz.com/magento/index.php(80): Mage::run('', 'magento')#13 {main}";s:3:"url";s:22:"/magento/index.php/admin";s:11:"script_name";s:16:"/magento/index.php";s:4:"skin";s:7:"default";}
Run Code Online (Sandbox Code Playgroud)
如何解决此问题 - :
"SQLSTATE[08004] [1040] Too many connections"
Run Code Online (Sandbox Code Playgroud)
"Too Many Connections"错误意味着这一点.您试图一次超过允许的MySQL数据库连接数.我怀疑这是由于最大连接设置较低以及Magento尝试为每个请求执行的大量查询引起的.
您可以在MySQL配置文件中更改此设置:my.cnf(/etc/my.cnf).查找"max_connections"设置并在重新启动之前增加它:
[mysqld]
max_connections = 200
Run Code Online (Sandbox Code Playgroud)
您设置的值很大程度上取决于您的可用系统资源.允许太多连接可能会淹没您的服务器并使其停止运行,因此您需要找到最适合您的最佳平衡点.
另外,您可能还想考虑禁用与MySQL数据库的持久连接,因为这可能是非常耗费资源而获得的收益很少:
allow_persistent = Off
Run Code Online (Sandbox Code Playgroud)
登录后端,使用客户维护下拉列表查找在线客户条目并检查数量.按IP排序,将最大数量的结果填充到Bots Vs浏览器中,看看它们是否是合法的Web索引器.如果不是,您可以临时403来自特定IP的流量.
如果您无法登录后端,则需要开始进行服务器访问日志分析,以找出所有流量来自哪里.
如何解决这个问题.如果你在共享主机上,你需要找到更好的东西.虽然在专用服务器上增加MySQL的最大连接数将有所帮助,但这取决于后端有足够的铁来实际运行数据库并增加负载.不加选择地增加max_connections可以阻止错误,但如果服务器低于标准,则会使站点致命地变慢.
获取页面缓存模块,以便每次访客帐户加载页面时都不会运行Magento.将其与APC缓存结合起来进行操作码缓存.
我们在上周间歇性地经历了这个消息,因为谷歌,Bing,雅虎,百度和Yandex决定立刻刷新所有这些消息.有一个Litespeed Web服务器的安全更新,它使其5.1版本的php与APC缓存不兼容,我们不得不禁用它直到我们运行升级.
使用Magento时,涉及"连接太多"或"超出最大连接数"的错误会告诉您服务器正在过载.这可能是因为a)你的服务器很弱而无法与你的客户保持联系,b)你的服务器足以满足你期望的用户数量,但是你忘记了像Google这样的网络索引器生成的请求占了大部分您的流量必须计算,或者c)您受到DDOS攻击.
注意:在某些情况下,如果您此时没有注意到压倒性的传入流量,则可能需要重新启动mysql服务器,以便重置先前导致MySQL超出其连接限制的流量峰值的记录锁定.
| 归档时间: |
|
| 查看次数: |
12428 次 |
| 最近记录: |