2017-03-09 11 views
1

MySQL 5.6 업그레이드에서 성능 문제가 있습니다.MySQL 5.6에서 Soalris 10의 MySQL 성능 문제가 발생했습니다.

OS 버전 : 솔라리스 10

언어 : 펄 스크립트

MySQL 버전 : MySQL은 5.1에서 업그레이드 (같은 단절에 5.6을 설치 논리적 upgrade가 5.6에서 복원)

메모리 : 64 GB

solaris 10에서 MYSQL 양식 5.1을 5.6으로 업그레이드하고 mysql 5.6에 기본 저장소 엔진 INNODB가 있으므로 모든 mysql 테이블을 MYISAM에서 INNODB로 변환했습니다. 내 데이터베이스 크기는 4.5 GB이고 innodb에 대한 매개 변수가 추가되었습니다. 그래서 512 M에 tmp_table_sizemax_heap_table_size를 생성 한 거래를하는 동안

innodb_file_per_table 
innodb_flush_method=O_DIRECT 
innodb_log_file_size=512 M 
innodb_buffer_pool_size=5 G 

내 응용 프로그램은 몇 가지 임시 테이블을 만드는 것입니다.

응용 프로그램에는 3 개의 모듈이 있고 2는 정상적으로 작동하며 세 번째 모듈에서는 MySQL 5.1에 비해 속도가 매우 느립니다. 그것은 거의 20 + 업데이트 문을 포함하고 일부 테이블에 조인을하고 마스터 테이블은 2 백만 레코드를 일부 테이블에 포함되어 있습니다.

나는 explain plan을 갖고 있고 질의에 대해 프로파일 링을했다. 프로파일 링에서이 성능이 저하 되었기 때문에 데이터를 보내는 데 엄청난 시간이 걸렸습니다.

누구나 성능 향상을 위해 제안 할 수 있습니까?

답변

0

또한 solaris10에서 비슷한 문제가 발생했으며 5.1에서 5.6으로 mysql을 업그레이드했습니다. 논리적 업그레이드를했는데 복원하는 동안 1Gb 데이터베이스를 복원하는 데 시간이 걸렸습니다. 나는 in-place upgrde로 시도해 보았고 성능면에서 비슷한 문제를 발견했다.

나는 단지 지난 3.5 yeasrs에서 실행되는 solaris 10 서버가 있습니다. 그래서 모든 캐시가 지워지도록 내 서버를 다시 시작한 후 다시 시작한 후 모든 데이터베이스 서비스를 시작했습니다.

참고 : 다시 시작하기 전에 모든 서비스를 중지하고 다른 5.1 데이터베이스 버전을 만들고 백업을 수행하여 내부 업그레이드 작업을 시작하는 것이 좋습니다. 논리적 업그레이 드를 수행하는 것이 아니라 내부적으로 진행하는 것이 좋습니다. 둘 다 동일하지만 복원하는 동안 시간이 더 많이 걸립니다.