Nginx 실행 중 상태 정보
Nginx 실행 중 일부 상태 정 보 를 메모리 에 저장 합 니 다. ngx 를 통 해http_stub_status_module 모듈 에서 확인 합 니 다.
이 상태 정 보 를 보 려 면 먼저 configure 를 실행 할 때 지정 합 니 다 -- with - httpstub_status_module 인자, 그리고 Nginx 프로필 에 location 를 추가 합 니 다. 다음 과 같 습 니 다.
location /status {
stub_status on;
}
현재 볼 수 있 는 상태 정 보 는 다음 과 같 습 니 다.
Active connections: xxx
server accepts handled requests
xxx xxx xxx
Reading: xxx Writing: xxx Waiting: xxx
1) Active connections - 현재 열 린 연결 수 (이벤트 / 비활성) 는 백 엔 드 서버 에 포 함 된 연결 입 니 다.
2) accepts - 시작 부터 지금까지 받 은 모든 연결 수 입 니 다.
3) handled - 시작 할 때 부터 지금까지 처 리 된 모든 연결 수 는 '2)' 와 같 습 니 다. 받 아들 여 졌 지만 바로 끊 긴 연결 을 줄 입 니 다.
4) requests - 시작 부터 지금까지 처 리 된 모든 요청 수 입 니 다.
5) Reading - 현재 요청 헤더 의 연결 수 를 읽 고 있 습 니 다.
6) Writing - 현재 요청 체, 처리 요청, 출력 응답의 연결 수 를 읽 고 있 습 니 다.
7) Waiting - 비활성 / 비어 있 는 Keepalive 연결 수 는 '1)' 에서 '5)' 와 '6)' 을 뺀 연결 수 와 같다.
단일 프로 세 스 작업 모드 에서 상태 정 보 는 전역 변수 에 저 장 됩 니 다. 다음 과 같 습 니 다.
ngx_atomic_t ngx_stat_accepted0;
ngx_atomic_t *ngx_stat_accepted = &ngx_stat_accepted0;
ngx_atomic_t ngx_stat_handled0;
ngx_atomic_t *ngx_stat_handled = &ngx_stat_handled0;
ngx_atomic_t ngx_stat_requests0;
ngx_atomic_t *ngx_stat_requests = &ngx_stat_requests0;
ngx_atomic_t ngx_stat_active0;
ngx_atomic_t *ngx_stat_active = &ngx_stat_active0;
ngx_atomic_t ngx_stat_reading0;
ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0;
ngx_atomic_t ngx_stat_writing0;
ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0;
주 프로 세 스 작업 모드 에서 상태 정 보 를 공유 메모리 에 저장 합 니 다. 다음 과 같 습 니 다.
/* cl should be equal or bigger than cache line size */
cl = 128;
size = cl /* ngx_accept_mutex */
+ cl /* ngx_connection_counter */
+ cl; /* ngx_temp_number */
#if (NGX_STAT_STUB)
size += cl /* ngx_stat_accepted */
+ cl /* ngx_stat_handled */
+ cl /* ngx_stat_requests */
+ cl /* ngx_stat_active */
+ cl /* ngx_stat_reading */
+ cl; /* ngx_stat_writing */
#endif
shm.size = size;
shm.name.len = sizeof("nginx_shared_zone");
shm.name.data = (u_char *) "nginx_shared_zone";
shm.log = cycle->log;
if (ngx_shm_alloc(&shm) != NGX_OK) {
return NGX_ERROR;
}
shared = shm.addr;
ngx_accept_mutex_ptr = (ngx_atomic_t *) shared;
ngx_accept_mutex.spin = (ngx_uint_t) -1;
if (ngx_shmtx_create(&ngx_accept_mutex, (ngx_shmtx_sh_t *) shared,
cycle->lock_file.data)
!= NGX_OK)
{
return NGX_ERROR;
}
ngx_connection_counter = (ngx_atomic_t *) (shared + 1 * cl);
(void) ngx_atomic_cmp_set(ngx_connection_counter, 0, 1);
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
"counter: %p, %d",
ngx_connection_counter, *ngx_connection_counter);
ngx_temp_number = (ngx_atomic_t *) (shared + 2 * cl);
tp = ngx_timeofday();
ngx_random_number = (tp->msec << 16) + ngx_pid;
#if (NGX_STAT_STUB)
ngx_stat_accepted = (ngx_atomic_t *) (shared + 3 * cl);
ngx_stat_handled = (ngx_atomic_t *) (shared + 4 * cl);
ngx_stat_requests = (ngx_atomic_t *) (shared + 5 * cl);
ngx_stat_active = (ngx_atomic_t *) (shared + 6 * cl);
ngx_stat_reading = (ngx_atomic_t *) (shared + 7 * cl);
ngx_stat_writing = (ngx_atomic_t *) (shared + 8 * cl);
#endif
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.