일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iptime
- jQuery
- KB증권
- ConoHa
- 보르비스초월
- KB국민카드
- 복현오거리
- 라즈베리파이2
- 가상서버호스팅
- 자바스크립트
- Rocky
- 시놀로지
- 티스토리
- PHP-FPM
- proxmox
- 스톤에이지
- 리눅스
- 아파치
- 윈도우10
- SKT
- 알뜰폰
- 소비전력
- mysql
- Apache
- 램가스초월
- 킹북이초월
- 알리익스프레스
- centos
- php
- OpenWrt
- Today
- Total
맛집 여행 캠핑 일상 생활
MySQL 런타임 상태 보기 본문
MySQL 런타임 상태 보기
phpMyAdmin 에 접속해서 첫 페이지에 나오는 메뉴중 하나인 "MySQL 런타임 상태 보기"를 클릭하면 나오는 화면이다.
실패한 시도가 눈에 거슬린다.
● 최대 접속수
연결 수의 "max. concurrent connections" 에 나오는 수치는 동시에 connection된 접속수이다.
Too many open files 에러 발생으로 더 이상 최대접속수가 301에서 더이상 올라가지 못한 상태의 상황이다.
show status like 'Max_used_connections';
의 값은 301로 나온다.
show variables like 'max_connections';
의 값은 1000으로 설정된 상태이며,
show variables like 'open_files_limit';
실행하면 값이 1290으로 나온다.
/etc/my.cnf 에서 open_files_limit=4096 으로 저장해 놓고 아직 mysql을 restart 하지 못해서 최대접속수 301 한계를 넘어서는지 더 이상 테스트를 하지 못하고 있다.
mysqld 서비스를 재시작할 기회가 오면 모니터링을 한 다음에 이 글을 업데이트 하여야겠다.
========= 추가 내용
▼ service mysqld restart 명령어로 재시작한 다음에 show variables like 'open_files_limit' 를 해보았는데 값이 5000 으로 나온다.
분명히 my.cnf 에서 4096으로 설정했는데도 말이다. 무슨이유인지는 모르지만 조금 더 여유를 두고 설정되나보다.
max_used_connections 의 값은 아직 서버에 부하가 없어서 나중에 따로 업데이트 할 예정이다.
▼ 2016.02.11 13:38
max_used_connection 값이 380 으로 증가하였다.
301을 넘지 못하던 최대 접속수가 늘어났다.
● 실패한 시도
그리고 그림에 보면 "실패한 시도"가 있는데 0.23%로 나온다.
show status like '%connect%';
의 값은
Aborted_connects | 3979 |
Connections | 1757407 |
Max_used_connections | 301 |
Ssl_client_connects | 0 |
Ssl_connect_renegotiates | 0 |
Ssl_finished_connects | 0 |
Threads_connected | 7 |
계산식은 Connection Miss Rate(%) = Aborted_connects / Connections * 100 이며 계산을 해보면 3979 / 1757407 * 100 = 0.23%로 나온다.
1%가 넘는다면 wait_timeout 값을 늘이라고 한다. (☜ MySQL 튜닝으로 검샘해보면 나오는 이야기이다.)
하지만 내가 생각하기엔 동시 접속수가 많은 경우엔 그냥 놔두고, 동시접속수가 적다면 늘여야 하는게 맞다고 본다.
외부 공격에 의해서 Aborted_connects 카운트가 늘어날 수도 있다.
이런 경우는 3306 포트를 외부망은 차단하는게 좋을 것 같다.
● 현재 접속수 확인 방법
show status like 'Threads_connected';
Threads_connected | 12 |
위는 mysql 쿼리로 확인하는 방법이며
아래는 리눅스 명령어로 확인하는 방법이다.
netstat -n | grep ":3306 " | grep ESTABLISHED | wc -l
포트가 다른 것으로 사용하였다면 3306 대신에 사용하는 포트번호를 적어주면 된다.
'LAMP' 카테고리의 다른 글
PHP FTP 업로드 함수 (0) | 2016.02.03 |
---|---|
PHP 단축 URL 사용하기 (0) | 2016.02.03 |
지정한 계정만 su 명령어 허용하기 (0) | 2016.01.29 |
MySQL 기본 함수 만들기 (0) | 2016.01.28 |
MySQL 테이블락 설정 및 해제 (2) | 2016.01.28 |