inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

MySQL 성능 최적화

Theory

innodb deadlock detect 비활성화 질문

해결된 질문

390

soap

작성한 질문수 37

0

https://fromdual.com/innodb-deadlock-detect-rather-hands-off

요 글을 보면 페이스북과 같은 엄청난 동시성 트랜잭션을 처리하는 서버가 아닌이상 웬만하면 innodb_deadlock_detect=on으로 하는걸 권장하는 글로 보입니다.

 

  1. 국내 기업 한정에서 실무에선 off로 하는 경우가 있을까요? 제 생각엔 lock으로 인한 성능상 문제가 있다면 off로 하는 것 보단 아키텍처 관점(레디스 사용 등)에서 성능 문제를 해결하는게 더 좋을것 같아서요..!

 

  1. 저 글과 같이 off로 했을 경우 스레드의 잠금이 계속해서 쌓여서 어느순간 max_connections을 초과하게 되었다는데.. off로 할 경우 innodb_lock_wait_timeout을 줄이고 max_connections을 높여 가면서 성능 테스트를 해서 적절한 값을 세팅하는 것이 좋을까요? off로 했을 경우 성능상 큰 이점이 있는 건지 감이 잘 오지 않습니다 ㅠ

 

  1. 강의 자료 노션에는 practice가 있는데 영상은 없네요 ㅠㅠ 의도하신 건지 궁금합니다아

 

mysql dbms/rdbms deadlock innodb

답변 1

1

여정민

안녕하세요~ 질문 남겨주셔서 감사합니다.

 

맞아요. 말씀 주신 내용처럼 매우 높은 동시성을 요구하는 환경이 아니라면 굳이 innodb_deadlock_detect=on 을 할 필요는 없습니다.

 

대부분의 국내 환경도 트래픽이 높지는 않아서 마찬가지일거에요. 대안 방법의 예시로 Redis 를 드셨는데 만약 Update 와 Insert 트래픽이 엄청 많은 상황에서는 고려해볼 수 있는 설정일거에요.

 

2번 질문 같은 경우는 innodb_deadlock_detect=off 로 했을 경우에 데드락 상황이 발생했을 때 감지할 수 있는 방법이 없으니 innodb_lock_wait_timeout 값을 짧게 줘서 성능 테스트를 해야할 것 같아요. 그리고 필요하다면 max_connections 값도 같이 증가시키는 게 좋을 수 있을 것 같습니다. 근데 이건 단순히 임시적인 조취일 수 있으니 문제가 일어났을 때 근본적인 해결을 찾는게 무엇보다 중요할 것 같네요.

 

원래는 dead_lock detect 상황을 실습해보려고 했는데 제 생각보다 더 많은 트래픽이 필요하더라구요. 그래서 로컬 환경에서는 진행하기가 어려웠어서 실습을 제외했습니다...

간단한 오타 제보입니다.

0

3

0

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

19

1

실제 FK제약조건을 설정하지 않는이유

0

19

1

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

21

2

Sequence 관련 질문

1

26

2

Image Only Query

1

24

2

performance_schema.events_stages_history_long, performance_schema.events_statements_history_long 테이블에 데이터가 쌓이지 않고 있습니다.

0

110

1

실무에서 prefix index를 어떤 요구사항이 있을때 사용하는지 궁금합니다!

0

465

1

ssd 에선 innodb_flush_neighbors을 0으로 하면 될까요?

1

226

1

innodb_buffer_pool_instances 기준 질문 드립니다

0

703

1

no offset 최적화를 사용할 수 없을 것 같은 경우에는 어떻게 최적화를 해야할까요?

0

258

2

실습 자료에 명시된 쿼리문들이 짤려있습니다.

0

218

1

my.cnf에 설정이 오타로 인해 잘못 들어가서 구동이 안될때는 어떻게 해야할까요?

0

297

1

내장함수로 감싸진 칼럼의 order by 최적화는 불가능할까요?

0

222

2

bulk_insert.py로 삽입되는 데이터 건수가 100만 건인데 정상일까요?

0

238

1

섹션3 Theory 노션 위치 이동 제보

0

203

1

실무에서 로드 데이터 활용하는 사례 및 기타 질문

0

257

1

강의자료 insert_optimization > load_data.py 내용이 바뀐것 같습니다..!

0

231

1

강의에 사용된 노션 링크 받을 수 있을까요?

0

275

1

AUTO INC Lock 하고 뮤택스 락 차이 관련해서 질문 드립니다.

0

269

1

섹션 4 Theory 영상에서 계속해서 노션의 화면 위치가 이동

0

296

2

커버링 인덱스

0

637

2

해당 강의 제공 코드를 보니 DB 커넥션 정보를 넘길때 포트가 빠졌네요

0

430

1

Task2는 직접해보는 부분인가요?

0

440

1