2014/11/26 10

PostgreSQL PPAS Streaming Replication

PostgreSQL Streaming Replication 설명 : 스트리밍 복제 (Streaming Replication)은 PostgreSQL 9.0 이상에서 사용 가능한 복제 기능. Insert/Update/Delete, Create/Drop 가능한 1 개의 Master DB에 SELECT만 할 수 있는 여러 Standby DB에 복제하는 것 Standby DB의 변경 결과가 반영되기까지 약간의 지연이 있지만 비교적 지연은 적게, 마스터 DB에 영향 작은 복제 방식. 목적 : 1. 많은 SELECT Query의 Server 간 분산 2. Master DB 이상시 신속한 Fail over 3. Master DB의 Disk 장애에 대비한 실시간 Backup 9.0 에 비해 강화된 9.1의 기능 1. 동..

PostgreSQL PPAS 특장점 소개

PPAS 특장점 DynaTune PPAS에 대해 낯설거나 익숙하지 않은 사용자들을 위해서 Configuration parameter 값을 DB에 맞게 자동으로 조절해 주는 기능 입니다. 사용자가 두 가지의 설정 값만 수정을 하면, PPAS가 그 것을 토대로 하여 알고리즘을 생성해 Postgres의 parameter를 설정 해 줍니다 Query Optimizer Hints SQL Optimizer가 선택한 실행계획에 응용프로그램 개발자가 영향력을 행사할 수 있도록 허용합니다. PostgreSQL이 실행계획을 세웠을 때는 특정 쿼리가 맨 처음 실행되었던 시기라서 차후에 실행되는 경우의 대부분은 최적이 아닐 수 있습니다. 따라서, 빈번하게 작업이 발생하여 테이블 크기가 커질 경우에 Query Optimizer..

Nginx 대역폭(전송속도) 제한

사이트상에 있는 정적인 파일들에 대해서 어느 특정 사용자가 대역폭을 차지하고 있을 수 있는데,다음과 같은 방법을 사용하여 네트워크 대역폭의 제한을 설정 할 수 있습니다. server { server_name www.example1.com; location /download/ { // 모든 사용자에 대해 /download 디렉토리의 파일 다운로드 속도를 10k 로 제한 limit_rate 10k; root /var/www.www.example1.com/download/; } ...} by hyenas (11월)

OS TOP 카맨드 사용하기

TOP 명령어는 PostgreSQL 운영자에겐 아주 유용한 명령어입니다.TOP 명령어를 통해 시스템 리소스 사용량을 확인 할 수 있고, 어느 부분에서 문제가 발생되는지 파악이 편리합니다. [사용법]$ top [옵션] [화면 내용들]top - 14:16:52 up 4 days, 5:25, 3 users, load average: 0.00, 0.01, 0.05Tasks: 131 total, 1 running, 130 sleeping, 0 stopped, 0 zombieCpu(s): 2.4%us, 0.3%sy, 0.0%ni, 97.0%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8140668k total, 7900820k used, 239848k free, 3074544k buffer..

Nginx IP 접근제어 설정

이번 강의에서는 Nginx IP접근제어에 대해서 알아보겠습니다. server { listen 80; server_name www.example1.com; location / { deny 192.168.56.101 allow 192.168.56.0/24; deny all; }...} 위에서 부터 차례대로 192.168.56.101의 IP에 대해서 접근을 거부한 다음 192.168.1.0/24 의 접근을 허용하는 설정이며, 마지막에 있는 deny all 지시어는 그 외의 모든 IP주소에 대해 접근거부하는 설정입니다. 접근이 거부된 사용자가 접속시 "403 Forbiden" 페이지로 전환이 됩니다. by hyenas(11월)

Nginx 로그 로테이션 설정

이번 강의에서는 로그 rotate 설정에 대해서 알아보도록 하겠습니다. logrotate.conf 파일에 다음 환경설정을 추가합니다. /var/log/nginx/*.log { daily missingok rotate 52 compress // 로그 파일에 대한 압축 delaycompress notifempty create 640 root adm // 보관이 되는 파일의 권한 설정 sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` endscript} 기존의 로그파일을 새로운 파일명으로 바꾸고 압축을 합니다.방금 이름을 바꾼 로그 파일을 닫고 새로운 로그 파일에 기록을 하도록엔진엑스 마스터 프로..

Nginx 가상 호스트별 로그 설정

가상 호스트에 각각 로그를 설정하는 예제 입니다. http { ... server { listen 80; server_name www.example1.com ; access_log /var/log/nginx/example1.access.log; error_log /var/log/nginx/example1.error.log; ... } server { listen 80; server_name www.example2.com ; access_log /var/log/nginx/example2.access.log; error_log /var/log/nginx/example2.error.log; ... } server { listen 80; server_name www.exampl3.com; access_log /..

Nginx 다중 로그 설정

동적인 요청에 대한 로그는 main로그 포멧을 사용하고, 정적인 요청은 static_main 로그 포멧을 사용,에러로그는 error_main 로그포멧을 사용하는 예로 다음과 같이 설정이 가능합니다. http { log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #정적(static) 파일에 대해서는 다음과 같은 로그 포멧 사용 log_format static_main '$remote_addr [$time_local] ' '"$request" $status $body_by..

Nginx 로그 설정

1. Nginx의 로그 포멧은 다음과 같이 설정할 수 있습니다. http { log_format combiled '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_byte_sent ' '"$http_referer" "$http_user_agent"'; access_log /var/log/nginx/access.log combined; //combine 형태의 로그 error_log /var/log/nginx/error.log crit; //crit 형태의 로그... Nginx 로그 레벨 설정에러 레벨 의미 Alert 긴급 상황 Crit 위험한 상황 Error 오류 상황 Warn 경고 상황 Notice 정상이지만 중요한 상황 In..

[PostgreSQL ADMIN] 정기적인 Vacuum 작업2

1.4. 실자료 지도 갱신 vacuum 작업은 실자료 지도를 갱신하는 작업을 한다. 실자료 지도(visibility map, vm)란 현재 작업 중인 트랜잭션들(또는 그 자료들이 변경 되기 전까지 이용할 미래의 모든 트랜잭션들)이 실제로 사용할 자료들에 대한 각 테이블별 지도다. 이 작업은 두가지 목적이 있다. 하나는 vacuum 작업은 이미 지도 정리 작업이 끝난 것에 대해서는 더 이상 그 작업을 하지 않는다는 것이다. 다른 하나는, 이 지도 정보는 인덱스 전용 쿼리들 - 더 이상 실제 테이블 자료를 검사 하지 않는 쿼리들 - 에 대해서 빠른 응답을 제공하는데 사용된다. PostgreSQL의 인덱스에는 실자료들에 대해서만 따로 모아서 그 정보를 제공하지 않는다. 즉, 어떤 자료를 해당 세션에게 보여 주..