일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- percona
- MyISAM
- cdb
- NOSQL
- Maria
- Docker
- DML
- maxclients
- 6.2.7
- RDBMS
- postgresql
- REDIS
- vacuum
- jmeter
- zabbix
- DELETE
- mysql
- 성능테스트
- Cloud DB for MySQL
- autovacuum
- mongo
- online ddl
- Connection
- NCP
- opensource
- InnoDB
- OD
- ncloud
- slack
- RDS
- Today
- Total
목록전체 글 (95)
개인 공부
운영 중인 서비스에서 로깅성 데이터를 저장하는 테이블이 있는 경우, 일정 시간이 지나면 해당 데이터가 필요 없어지는 상황이 종종 발생합니다.하지만 수억 건 이상의 데이터를 단순히 DELETE로 삭제하려고 하면 엄청난 리소스 소모와 장시간 락으로 인해 서비스에 큰 영향을 줄 수 있습니다.오늘은 이러한 문제를 해결하기 위해 Percona Toolkit의 pt-online-schema-change(이하 pt-osc)를 활용해 특정 조건의 데이터만 이관하고,디스크 공간도 회수하는 방법을 소개하려고 합니다. 사용처로깅성 테이블에서 특정 기간이 지난 데이터가 더 이상 필요하지 않을 때기존 데이터가 많아지면서 실행 계획이 바뀌고 성능 저하가 발생하는 경우서비스에 영향을 최소화하면서 대규모 데이터를 정리하고 싶은 경우..
MySQL에서 Bulk Insert(Load Data Infile, Insert into Select~ )을 사용해 대량으로 데이터를 삽입할 때, 종종 테이블의 AUTO_INCREMENT 값이 실제 삽입된 데이터보다 훨씬 커지는 현상이 발생합니다. 이는 의도된 동작이며, MySQL의 AUTO_INCREMENT 동작 방식과 관련이 있습니다. 문제 상황 예시테이블에 auto_increment 컬럼이 존재 할때 Bulk Insert를 통해 데이터를 인서트할 경우 발생하게 된다. 원인: innodb_autoinc_lock_mode 설정MySQL에서 AUTO_INCREMENT 값의 증가 방식은 innodb_autoinc_lock_mode 설정에 따라 다르게 동작합니다.mode는 총 3개로 나뉘어져 있다.0 (tr..

안녕하세요. 이번 글에서는 MongoDB 슬로우 쿼리 로그를 GUI 형태로 볼 수 있도록 만든 작은 도구에 대해 소개하려 합니다. 왜 이 도구를 만들었을까?MongoDB를 운영하다 보면, 가끔 쿼리 성능을 분석해야 할 때가 있습니다. 특히 슬로우 쿼리(Slow Query)를 체크하는 것은 필수 작업인데요.하지만 문제는, MongoDB 커뮤니티 버전에서는 슬로우 쿼리가 일반 로그 파일에 함께 쌓인다는 점입니다.이 때문에 파일을 직접 열어보면 다른 로그와 섞여 있어 원하는 슬로우 쿼리만 골라 분석하는 게 매우 번거롭고 비효율적입니다.MongoDB에서는 유료 서비스인 Ops Manager나 Atlas를 통해 슬로우 쿼리를 GUI로 쉽게 조회할 수 있는 기능을 제공하지만 커뮤니티 버전에서는 이러한 기능이 없죠...
MySQL에서 슬로우 쿼리를 모니터링 하다 보면 해당 쿼리가 임시 테이블이나, 소팅, 스캔 등을 어떻게 했는지 확인이 필요할떄가 있다. Ex) DB 서버에서 sorting 작업이 많이 발생하는게 모니터링 되었는데 어떤 쿼리에서 발생하는지 알고 싶을때 Performance_schema를 통해서도 어느정도 가능하지만 Performance_schema의 경우 DB 시작 부터 현재까지 쌓이는 값이기 떄문에 특정 시점에 많이 발생한 쿼리를 발견하기는 쉽지 않다. Log_slow_extra? 기본적인 슬로우 쿼리 정보 ( Duration / Lock time / Rows sent 등 ) 이외에 해당 쿼리에 대한 상태 정보들을 확인할수 있게 해준다. ( 임시 테이블 생성 / 정렬 작업 / 풀스캔 작업 등.. ) D..

REDIS를 운영하다 보면 max number of clients reached 에러가 발생할 때 가 있는데 이는 maxclients가 3만인데 connected_clients가 299970이 되면서 다른 session들이 연결을 요청하게 될 때 발생하게 된다. 원인maxclients : Redis 인스턴스에 접속 할 수 있는 클라이언트 수를 지정합니다. -1은 최댓값 (4294967295)이 설정되며, 설정하지 않으면 기본 값으로 1024를 갖습니다. O/S의 ulimit 값과도 연관이 있기 때문에 ulimit 제한도 같이 확인해서 변경해줘야 합니다. (/etc/limits.conf ,/etc/security/limits.conf ) Redis 확인1. maxclients 확인redis-cli ..