전체 글 387

MySQL filesort 알고리즘

MySQL filesort 알고리즘 ORDER BY/GROUP BY 처리에 인덱스를 사용하지 못하는 경우, MySQL은 Filesort 알고리즘을 통해 데이터를 정렬한다. Filesort 알고리즘을 사용하게 되면 쿼리 실행플랜 Extra 필드에 Using filesort 구문이 나오게 되며, 이런 경우 대체로 쿼리 처리 비용이 증가하게 된다. Filesort 동작 방식과 Filesort와 관련된 Variable, Status 항목을 정리해 보면 아래와 같다. (1) 데이터 Block에 대한 Scan 및 WHERE Filter 처리후 조건에 맞는 row를 Sort Buffer에 저장 정렬 조건 컬럼 값과 데이터 포지션 정보를 Buffer에 저장하며, Clustered Index 구조를 사용하는 InnoDB..

JBOSS 배포 옵션 정리

마커 옵션 정리 마커 생성자 정의 .dodeploy User 해당 파일 생성 시 어플리케이션 배포시작 해당 파일 터치 시 어플리케이션 재배포 .skipdeploy User 해당 파일이 존재하는 동안 어플리케이션 자동 배포 비활성 .deployed JBoss AS 어플리케이션 배포완료. 마커 제거 시 어플리케이션 배포 해제 .undeployed JBoss AS 어플리케이션 배포 해제 완료. 마커 제거 시 어플리케이션 재배포 .failed JBoss AS 어플리케이션 배포 실패 .isdeploying JBoss AS 어플리케이션 배포 진행 중 .isundeploying JBoss AS 어플리케이션 배포 해제 진행 중 .pending JBoss AS 어플리케이션 배포가 어떤 문제로 지연 중인 상태 JBOSS ..

훨씬 간편해진 Postgres 백업과 복구

훨씬 간편해진 Postgres 백업과 복구 (Postgres Backup and Recovery Just Got a Whole Lot Easier) 2014년 10월 20일, Jason Davis (October 20th, 2014 by Jason Davis) Postgres 는 최근 몇 년간 새로운 툴을 발전시켜왔다. 다행스럽게도, 만약 이 글을 읽는 당신이 Postgres 로 업무를 하고 있는 DBA나 시스템 관리자라면 당신의 업무환경은 훨씬 간편해질 것이다. EnterpriseDB (EDB) 는 최근 몇 주간 일본의 K.K Ashisuto 와 같은 고객들과 파트너사와 작업하며 우리의 새로운 EDB 백업과 복구 툴 (BART) 에 대해 많은 비용을 써왔고, 우리가 이번 주에 백업복구 툴의 첫번째 버전..

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 /..