• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 1. MySQL Server
    2. MySQL Server 로그
    3. 하나의 시스템에서 여러 MySQL 인스턴스 실행
    4. DTrace를 사용하여 mysqld 추적
    1. mysqld DTrace 프로브 설명
    1. 연결 프로브
    2. 명령 프로브
    3. 쿼리 프로브
    4. 쿼리 분석 프로브
    5. 쿼리 캐시 프로브
    6. 쿼리 실행 프로브
    7. 행 레벨 프로브
    8. 행 읽기 프로브
    9. 인덱스 프로브
    10. 잠금 프로브
    11. 파일 정렬 프로브
    12. 명령문 프로브
    13. 네트워크 프로브
    14. Keycache 프로브
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

5.4.1.13 네트워크 프로브

네트워크 프로브는 MySQL Server 및 모든 유형의 클라이언트에서 네트워크를 통해 정보의 전송을 모니터합니다. 프로브는 다음과 같이 정의됩니다.

  net-read-start ()
 net-read-done (status, bytes)
 net-write-start (bytes)
 net-write-done (status) 
  • net-read-start : 네트워크 읽기 작업이 시작되었을 때 트리거됩니다.

  • net-read-done : 네트워크 읽기 작업이 완료 될 때 트리거됩니다. status 는 작업의 반환 상태를 나타내는 integer 에서 성공하면 0 , 실패했을 경우는 1 입니다. bytes 인수는 과정에서 읽은 바이트 수를 지정하는 정수입니다.

  • net-start-bytes : 데이터가 네트워크 소켓에 쓸 때 트리거됩니다. 단일 인수 bytes 네트워크 소켓에 기입 해지는 바이트 수를 지정합니다.

  • net-write-done : 네트워크 쓰기 작업이 완료 될 때 트리거됩니다. 단일 인수 status 는 작업의 반환 상태를 나타내는 정수 성공한 경우 0 에서 실패한 경우는 1 입니다.

네트워크 프로브를 사용하여 실행중인 네트워크 클라이언트에서 읽기 및 네트워크 클라이언트에 기록하는 데 걸린 시간을 모니터 할 수 있습니다. 다음의 D 스크립트 예제를 보여줍니다. 읽기 또는 쓰기 누적 시간과 바이트 수가 계산됩니다. 네트워크를 읽거나 쓰기 위해 개별 프로브가 급격히 시작되는 것에 대처하기 위해 동적 변수 크기 ( dynvarsize 옵션을 사용하여) 증가되는 점에 유의하십시오.

  #! / usr / sbin / dtrace -s

 #pragma D option quiet
 #pragma D option dynvarsize = 4m

 dtrace ::: BEGIN
 {
    printf ( "% - 2s % -30s % -10s % 9s % 18s % -s \ n"
           "St", "Who", "DB", "ConnID", "Dur microsec", "Query");
 }

 mysql * ::: query-start
 {
    self-> query = copyinstr (arg0);
    self-> who = strjoin (copyinstr (arg3) strjoin ( "@", copyinstr (arg4)));
    self-> db = copyinstr (arg2);
    self-> connid = arg1;
    self-> querystart = timestamp;
    self-> netwrite = 0;
    self-> netwritecum = 0;
    self-> netwritebase = 0;
    self-> netread = 0;
    self-> netreadcum = 0;
    self-> netreadbase = 0;
 }

 mysql * ::: net-write-start
 {
    self-> netwrite + = arg0;
    self-> netwritebase = timestamp;
 }

 mysql * ::: net-write-done
 {
    self-> netwritecum + = (timestamp - self-> netwritebase);
    self-> netwritebase = 0;
 }

 mysql * ::: net-read-start
 {
    self-> netreadbase = timestamp;
 }

 mysql * ::: net-read-done
 {
    self-> netread + = arg1;
    self-> netreadcum + = (timestamp - self-> netreadbase);
    self-> netreadbase = 0;
 }

 mysql * ::: query-done
 {
    this-> elapsed = (timestamp - self-> querystart) / 1000000;
    printf ( "% 2d % -30s % -10s % 9d % 18d % s \ n",
           arg0, self-> who, self-> db,
           self-> connid, this-> elapsed, self-> query);
    printf ( "Net read : % d bytes (% d ms) write : % d bytes (% d ms) \ n"
                self-> netread (self-> netreadcum / 1000000)
                self-> netwrite (self-> netwritecum / 1000000));
 } 

원격 클라이언트가있는 컴퓨터에서 위의 스크립트를 실행하면 쿼리 실행 시간의 약 3 분의 1이 클라이언트에 다시 쿼리 결과를 기록 할 관련있는 것으로 이해할 수 있습니다.

  St Who DB ConnID Dur microsec Query
  0 root @ :: ffff : 192.168.0.108 test 31 3495 select * from t1 limit 1000000
 Net read : 0 bytes (0 ms) write : 10000075 bytes (1220 ms)


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved