2011-04-06 4 views
8

나는 mysql 데이터베이스에 (삽입, 업데이트, 삭제) 할 수있는 급여 시스템을위한 웹 애플리케이션을 작성했다.데이터베이스 트랜잭션을 모니터링하는 방법은 무엇입니까?

알고 싶습니다.

mysql 데이터베이스에서 몇 건의 트랜잭션이 발생 했습니까?
start_time 및 end_time 동안 mysql 데이터베이스에서 얼마나 많은 트랜잭션이 발생 했습니까?

+2

거기에 MySQL 로그 파일이 없습니까 ?? – evotopid

답변

4

MySQL이이 명령 카운터 : 예를 들어, 일반 JDBC URL은

jdbc:mysql://db.foo.com/webapplicationdb 

은 다음으로 변경할 것입니다. 그들은 SHOW GLOBAL STATUS LIKE "COM\_%"으로 볼 수 있습니다. 명령을 실행할 때마다 관련된 카운터가 증가합니다. 거래 관련 카운터는 Com_begin, Com_commitCom_rollback입니다. 또한 Uptime은 서버 시작 이후의 시간 (초)입니다. 이 값 또는 델타를 읽고 그래프로 표시하면 요청한 정보가 나타납니다.

Com_insert, Com_update, Com_delete 및 그 변형에 대한 카운터도 있습니다. 이 그래프도 그래프로 나타낼 수 있습니다.

+0

감사합니다 @Isotopp 귀하의 솔루션은 간단하고 정확하게 내가 무엇을 찾고 있었는지. [mysql - documentation] (http://dev.mysql.com/doc/refman/5.5/en/show-status.html)는 'com_select'와 같은 상태를 보여줍니다; – Nandha

2

당신이 찾고있는 답변이 확실하지 않습니다 다음 JDBC 로거는 응용 프로그램이 데이터베이스에 수행하는 작업을 추적하는 데 매우 유용하다고 들었습니다. 귀하의 응용 프로그램이 열리는 곳과 거래를 커밋하는 곳을 보여줘야합니다. 그런 다음 로그를 처리하는 스크립트를 작성하여 트랜잭션 수를 결정할 수 있어야합니다.

http://code.google.com/p/log4jdbc/

그것은 기본적으로 응용 프로그램과 실제 데이터베이스 드라이버 사이에 위치

. JDBC URL에 log4jdbc 접두어를 추가합니다.

jdbc:log4jdbc:mysql://db.foo.com/webapplicationdb 
관련 문제