Mysql의 여러 데이터베이스로 인해 mysql 서버가 자주 충돌합니다.

Mysql의 여러 데이터베이스로 인해 mysql 서버가 자주 충돌합니다.

CentOS 5.5에서 Mysql을 실행하고 있습니다. 그리고 데이터베이스 샤딩 접근 방식을 사용하고 있습니다. ERP 앱인 만큼 신규 애플리케이션/회사당 약 300개의 테이블이 있습니다. 현재 우리 mysql 서버에는 약 600개의 데이터베이스가 있습니다. (250GB, 24GB Ram) 그런데 서버가 좀 자주 크래시가 나네요. 1. mysql에 알려진 제한 사항과 안정적으로 지원할 수 있는 데이터베이스 수가 있습니까? 다른 스레드와 블로그를 살펴봤지만 no에 대한 명확한 분석을 찾을 수 없었습니다. 데이터베이스 대 mysql 서버 충돌/가용성.

반면에 ERP와 같은 복잡한 앱에 대해 DB 관리를 수행해 본 분들의 조언도 듣고 싶습니다. 2. 믿을 수 있는 모델인가요? 좀 더 신뢰할 수 있게 바꾸려면 어떻게 해야 할까요?

답변1

우선, "자주"라고 부르는 것이 무엇인지 잘 모르겠습니다. 하지만 제 생각에는 DB 서버가 충돌해서는 안 됩니다. 당신은 정말로 이 문제의 원인을 파악하려고 노력해야 합니다. 다운되는 것은 전체 서버입니까, 아니면 MySQL 프로세스입니까? 충돌 로그? MyISAM 또는 Innodb?

물론 MySQL을 실패하게 만드는 방법이 있습니다. 여러분이 직면하게 될 가장 확실한 문제는 사용 가능한 것보다 더 많은 메모리를 사용하도록 MySQL을 구성하는 것입니다(메모리가 부족하여 무작위로 충돌이 발생합니다).

그러나 귀하의 질문에 대답하려면 다음을 수행하십시오.

  1. 알려진 제한 사항이 있으며 대부분은 OS에서 발생합니다. 각 DB는 별도의 파일에 저장되므로 파일 핸들과 같은 리소스가 부족해질 수 있습니다. 구성에 따라 600개의 데이터베이스가 이러한 제한을 초과하기 시작할 수 있으며, 이로 인해 로드 시 성가신 충돌이 발생할 수 있습니다.

  2. 나는 대부분의 ERP 설치가 매우 복잡하거나 처리하는 데이터의 양이 매우 크다고 생각하지 않습니다. 나의 주요 권장 사항은 HW/SW 설치가 안정적인지 확인하는 것입니다. 심각한 로드 문제가 발생하지 않는 한 샤딩/마스터-슬레이브 및 유사한 설정은 추가된 복잡성으로 인해 설정의 신뢰성을 감소시킬 수 있습니다.

관련 정보