나는 ~ 500 실시간 방문자, ~ 5 만 매일 방문자 및 ~ 1,3million 총 사용자을 가진 웹 사이트를 실행합니다. AWS에 내 서버를 호스팅합니다. 여기에서는 다른 종류의 인스턴스를 여러 개 사용합니다. 웹 사이트를 시작했을 때 다른 인스턴스 비용은 거의 같지 않았습니다. 웹 사이트가 RDS 인스턴스 (MySQL DB) CPU를 지속적으로 사용하여 사용자를 확보하기 시작했을 때 여러 번 업그레이드해야했지만 이제는 성능 및 월간 비용의 주요 부분을 차지하기 시작했습니다 (약 95 %). (2,8k $/월)). 현재 16vCPU 및 64GiB RAM의 데이터베이스 서버를 사용하고 있으며 다중 AZ 배포를 사용하여 오류를 방지합니다. 데이터베이스가 비싸거나 정상적으로 작동하는지 궁금한 점이 있습니까? 순간 MySQL 서버 매우 높은 부하
데이터베이스 정보
내 데이터베이스는 일부 ~ 2millions이 1 30 개 수백만 달러를 가지고, 100,000 행이 그 중 가장 40 개 테이블이있다. 나는 더 이상 필요하지 않은 21 일이 지난 보관소 시스템을 보관하고 있습니다.
웹 사이트 정보
웹 사이트는 주로 PHP를 사용하지만 일부 NodeJS와 파이썬.
는 웹 사이트의 대부분의 기능은 다음과 같이 작동합니다
- 마지막 ID를 삽입하기
- 시작 트랜잭션
- 행 삽입 (lastrowid)
- 는 가 삽입 된 업데이트 된 몇 가지 계산을 수행 행
- 사용자 업데이트
- 커밋 트란 보장
또한 10-30 초 간격으로 데이터베이스에서 폴링하는 약 100bots를 실행하며 데이터베이스를 때때로 삽입/업데이트합니다.
나는 데이터베이스의 부하를 낮추기 위해 시도하는 몇 가지 일을 한
추가. 데이터베이스 캐시를 활성화하고, 일부 쿼리에 redis 캐시를 사용하고, 매우 느린 쿼리를 제거하려고 시도하여 스토리지 유형을 "프로비저닝 된 IOPS SSD"로 업그레이드하려고했습니다. 그러나 아무것도 도움이되는 것 같지 않습니다.
이
내가 설정 paramters에 수행 한 변경입니다 :, 나는 여러 개의 작은 인스턴스의 MySQL의 클러스터를 만드는 방법에 대한 생각,하지만이 도움이 될 경우 나도 몰라 및 나는 또한 이것이 거래와 잘 작동하는지 모른다.
자세한 내용이 필요하면이 문제에 대한 도움을 받으십시오.
프로비저닝 된 IOPS로 업그레이드하려고했지만 이미 사용할 수있는 IOPS를 초과 했습니까? 여전히 사용 가능한 IOPS를 극대화하고 있습니까? "초당 읽기 작업"및 "초당 쓰기 작업"을보고 사용 가능한 IOPS에 의해 제한되는지 확인해야합니다. –
또한 오로라가 더 나은 성능을 발휘하는지 테스트 해 볼 것을 제안합니다. –