개발자의 노트
MySQL 튜닝 툴 - MySQLTuner-perl

MySQL 서버의 상태를 모니터링하고 튜닝하기 위해 MySQLTuner-perl 라는 스트립트가 제공됩니다. 지원되는 환경은 아래와 같습니다. 윈도우는 아직 안되네요. https://github.com/major/MySQLTuner-perl 사이트에 방문하여 mysqltuner.pl 를 다운로드 받고 실행해주면 됩니다. # wget https://github.com/major/MySQLTuner-perl/blob/master/mysqltuner.pl # chmod +x mysqltuner.pl # perl mysqltuner.pl 아래 그림처럼 현재 MySQL 서버 상태를 체크해서 결과를 보여주게 됩니다. 결과에서 추천하는대로 서버를 튜닝해주세요. 자세한 내용은 https://github.com/majo..

[Linux] ImageMagick 설치

CentOS 기준으로 ImageMagick를 설치해보자. 의존성 모듈 설치 # yum install -y tcl-devel libpng-devel libjpeg-devel # yum install -y ghostscript-devel bzip2-devel freetype-devel libtiff-devel zlib-devel# yum install -y ImageMagick-c++ ImageMagick-c++-devel imagemagick 설치 참고 사이트 http://www.imagemagick.org/script/install-source.php#unix(configure시 CXX=CC CXXFLAGS=-O2 옵션을 주어 magicK++을 함께 설치한다) # wget http://www.imagem..

[Linux] vnstat (네트워크 트래픽 모니터링)

vnstat 설치 # yum install -y vnstat 60초 동안 테스트를 수행하며 이상이 없는지 확인합니다. 체크 결과 Everything is ok.가 나왔다면 바로 문제없이 사용할 수 있습니다 # vnstat --testkernel 사용할 수 있는 네트워크 인터페이스를 확인할 수 있습니다. # vnstat --iflist Available interfaces: lo usb0 eth0 eth1 eth2 eth3 bond0 virbr0 virbr0-nic 아래 명령어를 통해 기록을 위한 새로운 데이터베이스 파일을 생성합니다. 저장 경로는 /var/lib/vnstat/eth0 으로 설정됩니다. #vnstat -u -i eth0 서버가 bonding 되어있다면 bond된 인터페이스를 잡자. #vns..

리눅스 OS, CPU, 메모리 확인 (CentOS)

※ 리눅스 OS 확인 # lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 6.2 (Final) Release: 6.2 Codename: Final # uname -a Linux localhost 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux # getconf LONG_BIT 64 ===> 해당 버전은..

[Linux] 로그 파일 비우기

로그 파일이 엄청 쌓여있을 경우. 파일을 삭제하면 문제가 있을 수 있으므로 아래 명령어로 파일을 비워준다. # cat /dev/null > access.log

리눅스 소켓 접속 제한 늘리기

리눅스는 기본적으로 1024개의 파일을 오픈할 수 있다. (리눅스에서는 소켓 접속도 파일 오픈 개념으로 처리됨) 그래서 소켓 프로그램시 1000명 이상되면 사용자 접속이 안될 수 있는데.. 아래 처럼 파일 오픈 개수를 늘려줄 수 있도록.. # ulimit -a open files (-n) 1024 이런 항목이 있음.. 파일 오픈 개수를 늘리자. root 권한으로 /etc/security/limits.conf 열어서 아래처럼 수정 # vi /etc/security/limits.conf * soft nofile 500000 * hard nofile 500000 저장하고, 새로 로그인 하면. 파일 오픈 개수가 늘려져 있을 것임. # ulimit -a open files (-n) 500000 이렇게 변경되어있으..

UCARP를 이용한 서버 이중화 (Redundancy)

UCARP 는 CARP (Common Address Redundancy Protocol) 프로토콜을 구현한 것으로 Virtual IP(VIP)를 여러 서버가 공유해서 자동으로 Failover를 처리한다. VIP가 실제 서비스되는 대표 아이피이며, A 서버와 B 서버가 존재한다고 하자. 먼저 A 서버가 VIP를 획득하여 서비스를 하다가, A 서버가 장애가 나면 B 서버가 이를 감지하여 VIP를 획득하여 무중단 서비스를 제공한다. 그러다가 A 서버가 다시 정상적으로 구동되면 다시금 VIP를 획득하여 A 서버를 통해서 서비스를 제공하게 된다. 서비스 장애로 VIP로가 넘어가는 시간은 아주 짧아서 장애시간이 없다고 봐도 무방하다. - VIP(서비스 IP) : 10.10.10.10 - 서버 #1 : 10.10.1..

INBOUND / OUTBOUND 포트 변경

외부에서 서버로 들어오는 (INBOUND) 포트를 A 에서 B로 리다이렉트 해야 할 경우가 있다.예를 들어 80으로 들어오는 포트를 서버에서는 7080으로 LISTEN 해야 한다면 iptables에서 변경하자. # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 7080 또한, 서버에서 외부로 나가는 (OUTBOUND) 포트를 A에서 B로 리다이렉트해야 할 경우가 있다.예를 들어 80으로 나가는 포트를 외부에서는 60000 으로 LISTEN 하고 있다면 iptables에서 변경하자. # iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 60000 ..