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
운영게시판
최근게시물
Oracle Q&A 21089 게시물 읽기
No. 21089
오라클 동시접속 최대 값이 몇 connect인가요?
작성자
toomany(toomany)
작성일
2004-12-17 10:50
조회수
16,154

오라클에 동시 접속 테스트를 하는데 350건 이상에서는 연결 실패가 나네요. ㅡㅜ

OPS환경이 아닌 일반 접속에 있어서

최대 접속 건수는어느정도 인지요?

오라클은 9i며 sun에서 돌고 있습니다.

 

기존의 process파라메터 변경하여 접속수를 늘리는 방식이

9i에서는 변경됬다고 들었는데..어떤 방법인지요.

고수님들의 조언 부탁드립니다.

 

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

동일합니다. processes 파라미터만 늘린다고 되는게 아니라 커널 파라미터도 마찬가지로 수정되어야겠지요.

 

process 파라미터도 높게 잡을 이유는 없습니다. 수치를 늘린다고 빨라지지 않습니다.

 

현재 DB에 얼마나 접속하는지 세션 수를 알고 계십니까? 피크 타임시에는 얼마나 접속하나요? Active 세션 수는 얼마나 되는지요?

이런 정보에 근거를 두고 process파라미터를 설정해주시면 됩니다.

 

아래 쿼리를 실행 시켜보세요.

select * from v$resource_limit

결과에서 processes 가 프로세스 갯수(백그라운드+Dedicate Process)

session이 동시접속 세션 수 입니다.

 

current_utilization 이 현재 접속 카운트이고... (1명 접속할 때 마다 1씩 증가)

max_utilization  이 오라클을 시작한 이래로 최대로 접속했을 때 피크 수치입니다. processes 파라미터도 이 값을 근거로 어느 정도 여유를 두고 설정하면 됩니다.

 

initial_allocation 은...  init.ora 파라미터에서 설정한 수치입니다.

만약 max_utilization 이 limit_value에 근접한다면 processes 를 늘려주어야 하겠지요.

 

마지막으로 팁입니다.

아래 쿼리는 현재 접속된 세션 수와, 전용서버 방식으로 연결한 세션수, 백그라운드 세션 수(오라클 dbwr,lgwr,smon, pmon...), active 세션수 (현재 실재 SQL이 Run되고 있는 세션) 를 알 수 있는 쿼리입니다.

 

SELECT COUNT (*) total_cnt,
       COUNT (DECODE (server, 'DEDICATED', 1, NULL)) dedicated_cnt,
       COUNT (DECODE (TYPE, 'BACKGROUND', 1, NULL)) background_cnt,
       COUNT (DECODE (status, 'ACTIVE', 1, NULL)) active_cnt
  FROM v$session

 

 

김주현님이 2004-12-17 11:11에 작성한 댓글입니다.
이 댓글은 2004-12-17 11:21에 마지막으로 수정되었습니다. Edit

감사합니다.

스트레스 테스트를 하다보니..

동시 접속에 관련된부분이 걸리네요.

커널 관련 값들은 모두 수정이 된상태고 db쪽만 신경을 쓰면 될듯 한데..맘대로 안되네요.

말씀해주신 방법대로 시도해 보겠습니다.

다시한번 좋은 답변 감사드립니다.

 

toomany(toomany)님이 2004-12-17 13:13에 작성한 댓글입니다.

오라클에서 스트레스 테스트라는건

동시 접속이 많을 경우... Latch 나 Wait 혹은 잠금 문제를 일으키지 않는지 체크하는데 중점을 둬야합니다.

 

단순히 몇명까지 접속가능하다는건 아무 의미가 없습니다. 제 노트북 PC에 설치된 오라클에서도 파라미터 조정하면 동시접속 1000을 만들 수도 있을겁니다. (메모리만 허용한다면)

 

하지만 실재 Production  환경하에서 부하가 걸릴 때와는 전혀 다른 무의미한 측정이 되어버립니다. 어떤 업무를 돌릴지 모르지만 일반적 C/S Type의 OLTP 업무를 제 노트북에서 돌린다면 1000세션이 접속하기 전에 벌써 과부하로 뻗어버릴겁니다.

 

제가 말하고 싶은 요지는... 대부분 이 정도 스펙이면 얼마나 동시접속을 처리하나요라는 질문에 대한 답을 찾기를 원하지만...

 

더 중요한 것은 어플리케이션이 확장성이 좋도록 코딩하고 구성하는게 더 중요합니다. 이걸 했다면 위에 문제는 자연스럽게 해결되니까요.

아무리 스펙이 좋은 구성을 해도 동시접속이 얼마 증가되지 않았는데도 과부하를 일으키는 것은 그 만큼 코딩에 문제가 있다는 반증이니까요. DB를 잘 이해하고 DB가 최적화되도록 개발을 해야하는데...

대개는 DB를 이해하려고 하지 않고 블랙박스 취급하다보니 이런 문제가 발생합니다.

 

결국 동시접속 증가에 따른 확장성의 제한 문제는 모델링과 코딩(개발)의 문제로 귀결되기 마련입니다.

개발 환경에선 아무 문제 없던것이 실재 서비스에 들어가면 중단되고 과부하 문제를 겪는 이유도 여기에 있습니다.

 

반드시 실재와 똑 같은 데이타량과 분포도, 실 데이타를 가지고 벤치마크 하십시오. 실재와 같은 SQL이 들어오도록 부하를 걸고 statspack 등으로 부하를 측정하십시오.

김주현님이 2004-12-17 13:36에 작성한 댓글입니다.
이 댓글은 2004-12-17 13:41에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
21092두개의 테이블을 합하려고하는데... [4]
황장하
2004-12-17
2372
21091기초적 인덱스 관련 질문요. [1]
Jung
2004-12-17
1944
21090실시간으로 데이터 변경을 알 수 있는 방법은? [4]
복팅이
2004-12-17
2286
21089오라클 동시접속 최대 값이 몇 connect인가요? [3]
toomany
2004-12-17
16154
21087시작일과 종료일이 있을때 기존 데이터와 중복되지 않으려면? [2]
하늘소
2004-12-17
2195
21086long형 Insert 에러 좀 봐주세요. [2]
이창호
2004-12-16
3439
21085오라클 백업에 관한 질문 [1]
초보자
2004-12-16
1831
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다