database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2461 게시물 읽기
No. 2461
onstat -u 를 해서 user를 보면 root와 informix 가 나오는데......
작성자
ㅠㅠ
작성일
2008-02-13 19:07ⓒ
2008-02-14 11:35ⓜ
조회수
8,554

onstat -u 를 해서 user를 보면 root와 informix 가 나오는데......

SELECT sid, username, uid, hostname
FROM sysmaster:syssessions;

dbaccess를 실행해서 보면 user가 root 인 것은 안나오고 informix로 되어 있는 것만 나옵니다..

root 까지 나오게 하는 방법과...

onstat -u 에서 제일 아랫 부분에 active , total, max 의 값이 나오는데..

이를 dbaccess에서 쿼리로 이 값들을 가져 오게 하는 쿼리를 알려 주셨으면 합니다..

이 글에 대한 댓글이 총 8건 있습니다.

syssessions 테이블은 사용자 세션에 대한 정보만 관리합니다.

'DB에 접속해서 쿼리를 날리고 결과를 받는' 세션을 말합니다.


그리고 onstat -u 의 정보는 user threads 에 대한 정보를 보여줍니다.

물론 threads도 sessid를 갖고 있으며, 세션이기는 합니다만;;

시스템 세션? 정도로 생각하시면 될 것 같습니다.


onstat -u 에 나오는 정보 중에 flags 부분을 보면 맨 마지막 부분이 D/B/F 인 것들은

엔진 관련 thread 들입니다. 이것 외에도 엔진을 올리면 생성되는 기본 스레드들이 있습니다.

그리고 엔진 구동을 root 로 하신 것 같네요. (보통은 informix 로 합니다. -_-;;)

이런 경우 onstat -u 에서 기본 스레드는 root 유저로 표시되며

syssessions 테이블에서는 조회하실 수 없습니다.
 


root 유저로 환경변수를 적용한 후 dbaccess 로 접속하시고

syssessions 테이블을 조회하시면 root 유저의 세션도 보일 것입니다.

SHK(rusion)님이 2008-02-18 10:52에 작성한 댓글입니다.

답변 감사합니다..


그러데 젤 궁금한건 total의 값을 어디서 가져 오냐 입니다..


sysmaster의 모든 테이블을 뒤져 봐도 없네요...


ㅠㅠ님이 2008-02-18 15:05에 작성한 댓글입니다. Edit

active 의 경우는

select count(*) from sysmaster:sysuserthreads;

위의 쿼리로 가져올 수 있는데 total, maximum 의 경우는 저도 아직 못 찾았습니다;


하지만, total 값은 큰 의미가 없습니다.

디폴트로 128 total 로 되어 있더라도

active 가 129 가 되는 순간 256 으로 증가합니다.

128 -> 256 -> 384 이렇게 128씩 증가합니다.


세션이 다시 127로 줄어든다고 128로 다시 내려가지는 않지만요;;


하여간 그닥 중요하지 않은 값이므로

안찾아진다고 슬퍼하지 마시고

일단 무시-_- 하면 되지 않을까요?



SHK(rusion)님이 2008-02-18 15:42에 작성한 댓글입니다.

이 total의 값을 알아야...session의 사용률을 구할수 있거든요...

active의 값만으로 현제 session의 사용률을 구할수 없지 않나요??

그럼 현재 session의 사용률을 알수 있는게 있습니까??

ㅠㅠ님이 2008-02-18 16:05에 작성한 댓글입니다. Edit

한가지 단적인 예를 들면

12/128 의 경우 약 10% 사용률이라고 볼 수 있겠네요.

근데 세션이 증가해서 129/256 (total 값은 128씩 자동 증가) 가 되었다가

12/256 으로 다시 낮아진 경우.

접속 세션 수는 동일하나 사용률은 약 5%가 됩니다.

이러한 값이 큰 의미가 있는지요...?


또 하나 예를 들면 

128/128 일때는 사용률이 100% 입니다.

129/256 일때는 사용률이 약 50% 입니다.

128/256 으로 다시 한명 줄어도 그대로 50%가 됩니다. 

하지만 128/128 일때와 접속 세션 수는 같지요.


특별히 모니터링 하거나 신경써야 할 부분이 아님을 알려드립니다.

SHK(rusion)님이 2008-02-18 22:39에 작성한 댓글입니다.

흠....저는 DBA가 아니기 때문에...


따로 모니터링을 하는 프로그램 작성중 이거든요...


그래서 session의 total 값을 알아야....session의 사용률을 나타내야 합니다...


그래서 이렇게 total의 값을 찾는거구요...


저의 프로그램 자체에 session의 사용률을 체크하는게 있어서.......


사용률의 값을 넣어서 넘으면 메세지를 뿌리게 되어 있거든요...ㅠㅠ

ㅠㅠ님이 2008-02-19 09:23에 작성한 댓글입니다.
이 댓글은 2008-02-19 09:34에 마지막으로 수정되었습니다. Edit

그럼 일단,

maximum concurrent 값을 확인해 보시고
(엔진이 올라온 이후 최대로 많은 세션이 붙었던 시점의 숫자입니다.)

128 미만이면 total 값 대신에 128을 넣고 모니터링하시면 될 듯 합니다.

256 미만이면 256을

384 미만이면 384를 고정적으로 박아두고 쓰시는 것이 오히려 정확합니다.


위에서 설명 드렸듯이

128/128 에서 사용률 100% 로 경고를 마구 뿌리다가

한세션 더 붙으면 129/256 으로 50% 로 바로 확 내려가는 이상한 구조보다는

총 세션을 파악해서 최대값을 박아두시는 것이 낫습니다.


그리고 혹시나 값을 가져오는 법을 찾게 되면 알려드리겠습니다.
(아마 없다고 생각됨;;)

SHK(rusion)님이 2008-02-19 12:18에 작성한 댓글입니다.
이 댓글은 2008-02-19 12:26에 마지막으로 수정되었습니다.

너무 편법 같은데요....^^ 개인적인 프로젝트면 상관이 없겠지만..


회사일이기 때문에...


답변 감사합니다..


저두 찾게 되면 바로 올리겠습니다...

ㅠㅠ님이 2008-02-19 13:08에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2465인포믹스에도 rollup 이라는 예약어 있나요? [1]
수진
2008-02-19
8048
2464AIX에서 Informix ESQL/C 컴파일 오류 [3]
박찬윤
2008-02-15
9069
2462인포믹스 관련 자료 블로그
김기복
2008-02-14
8164
2461onstat -u 를 해서 user를 보면 root와 informix 가 나오는데...... [8]
ㅠㅠ
2008-02-13
8554
2458흠.. 그래도 안되네요..error가 나는듯.. [5]
초보
2008-02-12
8963
2457다른 테이블 join하기 방법좀...ㅠㅠ [1]
초보
2008-02-11
7668
2454ESQL문좀 봐주세요..ㅠㅠ [3]
최재환
2008-02-11
8195
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다