2012-03-31 5 views
1

어제 잘 작동했던 Magento 설치가 왜 작동하지 않는지 모르겠습니다.MAGENTO의 문제점을 모르십니까?

그것은 다음과 같이 표시됩니다 :이 로그 레코드의/var/보고서에서 확인

There has been an error processing your request 
Exception printing is disabled by default for security reasons. 
Error log record number: 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";} 

1017219017231 방법이 문제 - 해결하려면

"SQLSTATE[08004] [1040] Too many connections" 
+6

MAGENTO의 문제점을 모르십니까? ... 모든 것! –

답변

6

로그 : AS를

제외하고 당신은 또한이 아주 작은 이익을 위해 리소스를 많이 할 수있는 당신에게 MySQL 데이터베이스를 지속적인 연결을 해제 고려하실 수 있습니다 항목 온라인 고객 및 수량을 확인하십시오. IP별로 정렬하고 최대 수량의 결과를 Bots Vs Browsers에 채워 합법적 인 웹 인덱서인지 확인하십시오. 그렇지 않은 경우 특정 IP로부터의 트래픽을 일시적으로 403 차단할 수 있습니다.

백엔드에 로그인 할 수없는 경우 서버 액세스 로그 분석을 시작하여 모든 트래픽의 출처를 확인해야합니다.

이 문제를 해결하는 방법. 공유 호스팅을 사용하고 있다면 더 나은 것을 찾아야합니다.전용 서버에서 MySQL의 최대 연결을 늘리면 백엔드에 충분한 양의 철이 있어야 부하가 증가한 데이터베이스를 실제로 실행할 수 있습니다. max_connections를 무차별 적으로 늘리면 오류가 중지 될 수 있지만 서버가 파 아래에 있으면 사이트가 치명적으로 느려집니다.

손님 계정이 페이지를로드 할 때마다 Magento가 실행되지 않도록 페이지 캐싱 모듈을 가져옵니다. 이를 APC 캐시와 결합하여 opcode 캐싱을 수행하십시오.

우리는 Google, Bing, Yahoo, Baidu 및 Yandex가 모두 한 번에 새로 고침하기로 결정했기 때문에 지난 주 간헐적으로이 메시지가 표시되었습니다. Litespeed 웹 서버에 대한 보안 업데이트로 인해 PHP 5.1 버전이 APC 캐시와 호환되지 않으며 업그레이드를 수행 할 때까지 해제해야했습니다.

Magento를 사용하면 "연결이 너무 많습니다"또는 "최대 연결 수 초과"와 관련된 오류로 인해 서버가 과부하되고 있음을 알 수 있습니다. 이는 a) 서버가 약하고 고객과 계속 연락 할 수 없기 때문일 수 있습니다. b) 예상 한 수의 사용자에게 적합한 서버 였지만 Google과 같은 웹 인덱서가 생성 한 요청이 귀하의 트래픽과 계산해야합니다, 또는 c) DDoS 공격에 시달리고 있습니다.

참고 :이 시점에서 압도적 들어오는 트래픽을 알아 차리지하지 않는 경우 특정 조건에서는, MySQL 서버는 MySQL이 초과 원인이있어 이전의 트래픽 스파이크에서 레코드 잠금을 재설정하기 위해 다시 시작해야 할 수도 있습니다 그것의 연결 한계.

1

는 디버거를 켤 수를하고 의미있는 오류 메시지가 표시되는지?

Mage::setIsDeveloperMode(true); 
ini_set(‘display_errors’, 1); 

또는 호스팅 제공 업체에 문제의 htaccess로 파일

+0

안녕하세요. 다음 메시지가 표시됩니다. "SQLSTATE [08004] [1040] 연결이 너무 많음"...이 문제를 해결하는 방법? – Prat

2

에서 변경할 : 의 index.php로 이동합니다. ...


올드을 그에게 연락 : 당신이 당신의 데이터베이스에 문제가있는 것처럼

이 보이는,하지만 우리는 여기에 전체 보고서가없는

(그것의 시작은 없습니다!)

저는 DB 자격 증명이 변경되었으므로 Magento 구성에서 업데이트하는 것을 잊어 버린 것 같습니까?

MySQL 콘솔 (액세스 할 수 있다면 ...)에서 SHOW PROCESSLIST 요청을 할 수 있습니까?

+0

그 보고서를 업데이트했습니다 ... plz 한 번 확인하십시오 – Prat

+0

와우. 귀하의 MySQL 서버는 아마 다시 시작해야합니다 ...하지만 저에게 5 '을 주면됩니다. – haltabush

+0

자세한 내용을 말해 줄 수 있습니까? 문제는 정확히 무엇입니까? – Prat

7

"너무 많은 연결"오류는 바로 그 의미입니다. 한 번에 MySQL 데이터베이스에 허용되는 연결 수 이상을 만들려고합니다. 나는 이것이 낮은 최대 연결 설정과 Magento가 각 요청에 대해 수행하려고하는 많은 수의 쿼리 때문에 발생한다고 생각합니다.

MySQL 설정 파일 my.cnf (/etc/my.cnf)에서이 설정을 변경할 수 있습니다. 은 "MAX_CONNECTIONS"설정을 찾아 다시 시작하기 전에 그것을 증가 : 사용자가 설정

[mysqld] 
max_connections = 200 

값은 사용 가능한 시스템 자원에 많이 의존한다. 너무 많은 연결을 허용하면 서버가 잠잠해서 중단 될 수 있으므로 가장 적합한 서버를 찾을 필요가 있습니다. 찾는 고객 유지 관리 드롭 다운을 사용하여, 백엔드에

allow_persistent = Off 
0

Mage :: setIsDeveloperMode (true); ini_set ('display_errors', 1); 오류 문제를 해결

index.php를

0으로

변경 한! 완벽하게 작동합니다!

관련 문제