HP-UX
1754279 회원
2682 온라인
108813 솔루션
새 메시지

tmax관련 파라메타 값 변경 문의 드립니다.

 
천준호
조언자

tmax관련 파라메타 값 변경 문의 드립니다.

tmax쪽에서 이런 식으로 파라메타를 변경해 보라는 문서가 왔습니다.

이대로 작업을 수행해도 아무 문제가 없는지 선배님들 검토 부탁 드리겠습니다.



----------------------------------------------------------------





uname -an

HP-UX sd01 B.11.11 U 9000/800 2979519908 unlimited-user license



$$2 sd01 (tmadm): ti



Tmax System Info: REAL version 3.8.14:



maxuser = UNLIMITED,

domaincount = 1,

nodecount = 1,

svgrpcount = 10,

svrcount = 345, svccount = 0

rout_groupcount = 0, rout_elemcount = 0

cousin_groupcount = 0, cousin_elemcount = 0

backup_groupcount = 0, backup_elemcount = 0



Tmax All Node Info: nodecount = 1:

------------------------------------------------------------------

no name portno racport shmkey shmsize minclh maxclh

------------------------------------------------------------------

0 sd01 7777 3333 78900 1947740 2 2



$$3 sd01 (tmadm):



######################################################################

*DOMAIN

smis SHMKEY = 78900,

MINCLH = 2,

MAXCLH = 2,

TPORTNO = 7777,

### TPORTNO = 7788,

BLOCKTIME = 300,

MAXSPR = 1500,

MAXSVR = 500,

MAXSVC = 10000,

IPCPERM = 0777,

# IPCPERM = 0600,

DOMAINID = 200,

CLICHKINT = 60,

IDLETIME = 3600

#######################################################################



$$1 sd01 (tmadm): ci -s

CLH 1: 1366

CLH 0: 1396

Total Connected Clients = 2762



################################################################################



* 발생 현상 참고 자료

Socket error (#10055): No buffer space available.



Analyse & Solutions:

An operation on a socket or pipe was not performed because the system lacked sufficient buffer space or

because a queue was full. This error indicates a shortage of resources on your system. It can occur if you're

trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after

running certain applications for a while, it might be a symptom of an application that doesn't return system

resources (like memory) properly. It may also indicate you are not closing the applications properly. If it

persists, exit Windows or reboot your machine to remedy the problem.





* slog(Tmax)

- CLL.9899.133129:(E) CLL0043 socket accept error: -1

- CLL.9899.133129:(E) CLL3005 possible network layer malfunction, clearing...

- CLL.9899.133159:(E) CLL3006 network recovered



#########################################################################################



* 분석 결과



현재 클라이언트 접속수를 보면 모니터링 기간 동안 CLH 한개당 약 1500유저가

접속 되어 전체 약 3000유저가 물려 있는 상황 입니다.

이는 통상 타 사이트의 경우 피크시 800~900 정도인것과 비교해 상당히 많은 유저가 물려 있는 상태 입니다.

위상황하에서 소켓 관련 자원 부족 현상이 발생 한 것으로 판단 됩니다.

위사항에 대해 권고안은 AP 구조적으로 요청이 없는데 쓸데없이 커넥션을 유지 하지 말고 끊어서

Tmax 서버에서 쓴자원을 반납 하게 하여 여유분을 늘리는 방법이 있고

아래와 같이 Socket 관련 HP TCP/IP 파라미터를 OS 엔지니어와 상의 하여 튜닝 하실 것을 권고 드립니다.

현재 위 에러 내용과 관련 하여 작게 설정된 부분을 확인 할수 있습니다.



##########################################################################################

1.Tcp_conn_request_max

-. 동시에 Connection을 맺을 수 있는 각 소켓에 대한 listen queue 의 limit 을 나타냄

-. 문제시 영향:대량의 DB connection이 발생하는 시스템에서는 connection refusal 이나 timeout 이 발생할 수 있음

-. 오라클 listener log에 "HPUX Error: 233: No buffer space available" 에러가 발생하기도 함

-. Default값 : 20

-. 권고값:어플리케이션 특성에 따라 다를 수 있으나 시스템 사이징에 따라 4096~10240 정도로 증가시키고 모니터링을 한다



참고:

-. tcp_conn_request_max 값은 소켓 프로그램에서 listen()에서 정의할 수 있는 최대 크기이고,

어플리케이션에서 생성한 소켓 포트 listen queue의 제한은 실제로 어플리케이션 프로그램 내부의

listen()에서 사용된 사이즈에 의해서 제한을 받는다.



ndd -get /dev/tcp tcp_conn_request_max

1024



2. Tcp_syn_rcvd_max

-. TCP의 SYN attack을 방어할 수 있도록 제어함

-. SYN packet을(netstat -an 에서 SYN_RECV부분 ) 보관하는 table space에 해당하고, 여기를 거쳐서

각 socket별로 listen queue에 들어 간다.

-. Default : 500 connections

-. 권고값: 1024 이상



ndd -get /dev/tcp tcp_syn_rcvd_max

500



3. Tcp_xmit_hiwater_def

-. tcp_xmit_hiwater_def :송신 버퍼의 최대 크기

권고값: 65536

-. tcp_xmit_lowater_def : 송신 버퍼의 최소 크기

권고값:24576

-. tcp_recv_hiwater_def :수신버퍼 최대 크기

권고값:65536



ndd -get /dev/tcp tcp_xmit_hiwater_def

32768

ndd -get /dev/tcp tcp_xmit_lowater_def

8192

ndd -get /dev/tcp tcp_recv_hiwater_def

32768



4. Tcp_fin_wait_2_timeout

-. Idle한 fin_wait_2 connection 을 중지할 수 있어 불필요한 connection을 제거함.

-. Default 값은 0으로 connection이 계속 유지됨

권고값:60000 (1분)

ndd -get /dev/tcp tcp_fin_wait_2_timeout

60000



5. Tcp_time_wait_interval

-. Connection 이 종료될때 TIME_WAIT 상태로 빠지게 되는데 얼마동안 이상태에 있을것인가 결정

-. Default 값은 60000 (1min) 으로 2xMSL 의 시간을 나타냄



권고값:30000 (30sec)



ndd -get /dev/tcp tcp_time_wait_interval

30000

##########################################################################################
1 응답 1
고재진
중학생

tmax관련 파라메타 값 변경 문의 드립니다.

안녕하세요.



Socket error (#10055): No buffer space available.



위와같은 에러가 생기면

tcp_conn_request_max 값을 늘려주시면 됩니다.



다른 값들은 개인적인 경험으로 위의 값들을 늘려주는게 좋습니다.



단지 적정한 값은 application 엔지니어가 얘기해주는게 맞겠죠.



application에 문제가 직접적으로 생기는 건 아니고 값을 작게하는게 아니고 크게 하는거라 큰 문제는 없을걸로 보입니다.



값을 크게 하면 물론 시스템 리소스를 더 많이 사용할겁니다.



그럼.