관점에 따라 접속한 사용자를 판단하는것은 다르겠지요.
netstat 등으로 연결된 사용자를 가지고 판단할수도 있고 프로세서의 숫자를 가지고 셀수도 있구요.
그런데 중요한것은 동시접속한 사용자가 많다고 하여 무조건 좋은것은 아닙니다. 예를 들어 하드웨어가 빵빵하거나 프로그램을 잘 짜서 그만큼 빠르게 처리를 한다면 오히려 동시접속자는 줄어듭니다. 그런데 그 반대의 경우는 동시접속한 사람은 많아져서 많이 처리를 한다고 생각하고 있지만 실제는 아닐수도 있는것이지요.
성능을 측정하는 경우에는 두가지를 가지고 판단합니다.
ㅇ 단위 시간당 처리건수
ㅇ 평균응답시간
위에서 이것은 사용자를 늘리면서 벤치마킹을 하여 판단합니다.
사용자를 10명, 20명, 30명 등 계속 늘리면서 얼마나 많은 처리를 하는가, 또 이경우 응답시간은 어떻게 변경되나를 보아야 합니다.
간단히 말하면 사용자를 늘려가다보면 급격하게 처리건수가 줄어드는 지점이 있고 그러면서 평균응답시간도 줄어들 것입니다. 여기서 이 지점을 찾아서 프로그램이든 OS든 병목지점을 찾아서 해결해야지요.
동시접속한 것만 확인하는것은 양적인 것만 확인하는 것이지 질적인 것은 제외를 하는 꼴이지요.
그리고 마지막으로 지금 운영중인 서버에 접속한 유저수를 구할려고 한다는데 접속하는 서비스가 무엇인지에 따라 달라질 것인데 지금 질문한 것은 너무나 추상적입니다. 물론 일반적인 인터넷 서비스라면 세션의 갯수, 대몬의 갯수등을 같이 측정하고 이때의 시스템의 자원사용량을 측정하는 것은 기본이겠지요.
무식하게..... w | wc한후 맨 위에 줄수 두개 빼면 나오지 않
무식하게..... w | wc
한후 맨 위에 줄수 두개 빼면 나오지 않을까요 (후다닥~)
====================
아니군요 ;;
who | wc 하면 더 정확히 나오는듯합니다 ㅡ.ㅡ;;
무식이 죄라고.. 냐하하 후다닥
[code:1]w -h | wc -l[/code:1]...하면 두
w -h | wc -l
...하면 두 줄 안 빼셔도 됩니다.
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
접속이 어떤접속이죠?w 로 확인하는것은 로컬에서 콘솔로 로긴한것도
접속이 어떤접속이죠?
w 로 확인하는것은 로컬에서 콘솔로 로긴한것도 나오잖아요.
간단하게
netstat -a | grep ssh | grep ESTABLISHED | wc -l
이렇게 하면 되지않을까합니다.
^^;;
web server입니다.
거의 제 생각과 비슷하군요..
저도 ESTABLISHED 의 갯수를 새면 될것 같기는 한데... 확실치 않아서요.
그래서 이곳의 고수님들에게 물어 본겁니다. 8)
혹시 FreeBSD,Linux,Win2000에서 특별한 명령어 같은 것이 있을 까요?
그리고 이게 정확한지도 확실치 모르겠구요..
만약 100명의 유저가 web server에 붙으면 ESTABLISHED 도 100개가 나올까요??
접속해 있는 저까지 쳐서 101 이 나올까요??
프비의 구루가 되기 위해서...
tcp session 갯수를 구하는건 established 를 세는게 가
tcp session 갯수를 구하는건 established 를 세는게 가장 정확하겠죠.
포트별로 구분할수도있고...
아파치도 쓰레드로 작동해서 유저 몇백명에 프로세스는 몇개 안돼도 netstat하면 established는 수백개 나옵니다.
^^;;
단순하게 접속한 세션만 가지고 판단할 수는 없지요
관점에 따라 접속한 사용자를 판단하는것은 다르겠지요.
netstat 등으로 연결된 사용자를 가지고 판단할수도 있고 프로세서의 숫자를 가지고 셀수도 있구요.
그런데 중요한것은 동시접속한 사용자가 많다고 하여 무조건 좋은것은 아닙니다. 예를 들어 하드웨어가 빵빵하거나 프로그램을 잘 짜서 그만큼 빠르게 처리를 한다면 오히려 동시접속자는 줄어듭니다. 그런데 그 반대의 경우는 동시접속한 사람은 많아져서 많이 처리를 한다고 생각하고 있지만 실제는 아닐수도 있는것이지요.
성능을 측정하는 경우에는 두가지를 가지고 판단합니다.
ㅇ 단위 시간당 처리건수
ㅇ 평균응답시간
위에서 이것은 사용자를 늘리면서 벤치마킹을 하여 판단합니다.
사용자를 10명, 20명, 30명 등 계속 늘리면서 얼마나 많은 처리를 하는가, 또 이경우 응답시간은 어떻게 변경되나를 보아야 합니다.
간단히 말하면 사용자를 늘려가다보면 급격하게 처리건수가 줄어드는 지점이 있고 그러면서 평균응답시간도 줄어들 것입니다. 여기서 이 지점을 찾아서 프로그램이든 OS든 병목지점을 찾아서 해결해야지요.
동시접속한 것만 확인하는것은 양적인 것만 확인하는 것이지 질적인 것은 제외를 하는 꼴이지요.
그리고 마지막으로 지금 운영중인 서버에 접속한 유저수를 구할려고 한다는데 접속하는 서비스가 무엇인지에 따라 달라질 것인데 지금 질문한 것은 너무나 추상적입니다. 물론 일반적인 인터넷 서비스라면 세션의 갯수, 대몬의 갯수등을 같이 측정하고 이때의 시스템의 자원사용량을 측정하는 것은 기본이겠지요.
웹상에서의 퍼포먼스의 개념에 대한것은 아래의 url을 참고하세요.
http://www.javaservice.net/~java/bbs/read.cgi?m=appserver&b=was&c=r_p&n=985764595 Performance Tuning QuickGuide for BenchmarkTest
http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=consult&c=r_p&n=1008701211 웹기반시스템하에서의 성능에 관한 이론적 고찰
제 사이트에서 이와 관련된것은 아래의 url을 참고해보시구요.
시스템모니터링, 튜닝과 관련한 내용입니다.
http://tunelinux.pe.kr/wikix/index.php?display=%BD%C3%BD%BA%C5%DB%C0%CF%B9%DD
http://tunelinux.pe.kr/wikix/index.php?display=SystemMonitoring
---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net
댓글 달기