2014년 02월 xe세미나 xe서버서능개선

36
XE 서버 성능 개선

Upload: sol-kim

Post on 23-Jun-2015

1.364 views

Category:

Technology


6 download

DESCRIPTION

동영상 by 서명덕 - http://itviewpoint.com/ http://www.youtube.com/watch?v=Rdc3-uZhCT4&list=PLZ9uJh6mO6seUbnHC7MtVGctVHGalncyN http://www.youtube.com/watch?v=O2TAm6-0pNw&list=PLZ9uJh6mO6seUbnHC7MtVGctVHGalncyN http://www.youtube.com/watch?v=XQ6zsB6tLgQ&list=PLZ9uJh6mO6seUbnHC7MtVGctVHGalncyN http://www.youtube.com/watch?v=yA-zSPdVP6w&list=PLZ9uJh6mO6seUbnHC7MtVGctVHGalncyN http://www.youtube.com/watch?v=i2_z5HJIwL4&list=PLZ9uJh6mO6seUbnHC7MtVGctVHGalncyN

TRANSCRIPT

Page 1: 2014년 02월 XE세미나 XE서버서능개선

XE 서버 성능 개선

Page 2: 2014년 02월 XE세미나 XE서버서능개선

목표

• 1개의 응답에 필요한 리소스 절약

• 사용자 요청에 대한 응답이 조금이라도 빠르게

Page 3: 2014년 02월 XE세미나 XE서버서능개선

측정은 어떻게 할 것 인가?

Page 4: 2014년 02월 XE세미나 XE서버서능개선

http://www.bubblews.com/news/1170033-f5-for-life

Page 5: 2014년 02월 XE세미나 XE서버서능개선

Requests Per Second

Page 6: 2014년 02월 XE세미나 XE서버서능개선

RPS 테스트• apache ab

• http://httpd.apache.org/docs/2.4/programs/ab.html

• jmeter

• http://jmeter.apache.org/

• nGrinder

• http://www.nhnopensource.org/ngrinder/

Page 7: 2014년 02월 XE세미나 XE서버서능개선

$ ab -c 100 -n 1000 http://yourdomain

Page 8: 2014년 02월 XE세미나 XE서버서능개선

결정 요소• 서버 사양

• OS 종류

• 웹 서버 종류

• DB 서버 종류

• PHP 버전 & extensions

• CDN

• 등등등

Page 9: 2014년 02월 XE세미나 XE서버서능개선

BUT! 정답은 없음.

Page 10: 2014년 02월 XE세미나 XE서버서능개선

XE가 원래 느리잖아요…

Page 11: 2014년 02월 XE세미나 XE서버서능개선

XE문제..가 아니라 구동방식의 차이 !

Page 12: 2014년 02월 XE세미나 XE서버서능개선

XE vs 제로보드

• 예) 게시물 목록 페이지

• 제로보드

• DB에서 1 row씩 받으면서 출력

• XE

• DB에서 모든 rows를 받아놓고 출력

Page 13: 2014년 02월 XE세미나 XE서버서능개선

먼저,무엇이 문제인지 확인

Page 14: 2014년 02월 XE세미나 XE서버서능개선

모니터링• 서버 리소스 사용 상태

• CPU, Memory, Disk IO, Network…

• WebServer / Database 처리량

• 웹사이트

• YSlow

• 등등

Page 15: 2014년 02월 XE세미나 XE서버서능개선

웹서버 by goaccess

http://goaccess.prosoftcorp.com/

Page 16: 2014년 02월 XE세미나 XE서버서능개선

MySQL

• $ mysqladmin -u root -p status

• $ mysqladmin -u root -p processlist

• phpMyAdmin 이용

Page 17: 2014년 02월 XE세미나 XE서버서능개선

Cloud Service

http://newrelic.com

Page 18: 2014년 02월 XE세미나 XE서버서능개선

Graphite

http://graphite.wikidot.com/

Page 19: 2014년 02월 XE세미나 XE서버서능개선

모르겠어요.

Page 20: 2014년 02월 XE세미나 XE서버서능개선

그냥,

• 허용하는 범위 내에서 버전들을 올려보자!

• 이것만 해도 효과는 있다.

Page 21: 2014년 02월 XE세미나 XE서버서능개선

PHP 5.4 이상 !

https://blog.asmallorange.com/2013/08/php-roadmap-performance/

Page 22: 2014년 02월 XE세미나 XE서버서능개선

그리고 설정

• CPU 수, Memory 크기, Network 등에 따라

• Nginx, Apache, PHP, Database 등 설정 변경

• memcached, apc 등 cache layer 추가

Page 23: 2014년 02월 XE세미나 XE서버서능개선

PHP Session Storage

• PHP Session Storage를 Memcached로 교체

• Memcached 설치 > 구동

• CPU 사용량이 낮음

• php.ini 에서 설정

Page 24: 2014년 02월 XE세미나 XE서버서능개선

WebServer• Nginx vs Apache

• Keepalive on/off

• access logging off

• Rewrite Rule 고려(Apache)

• Kernel 튜닝

• ulimit, sysctl 등

Page 25: 2014년 02월 XE세미나 XE서버서능개선

PHP Opcode Cache

• Apc

• Xcache

• ZendOptimizer

• OPcache

http://phpjobinterview.blogspot.kr/2012/09/php-opcode-caches.html

Page 26: 2014년 02월 XE세미나 XE서버서능개선

mysqlnd

http://blog.felho.hu/what-is-new-in-php-53-part-3-mysqlnd.html

• PHP 전용으로 제작한 mysql driver.

Page 27: 2014년 02월 XE세미나 XE서버서능개선

Database

• MySQL vs MariaDB

• MyISAM vs innoDB

• table locking vs row level locking

Page 28: 2014년 02월 XE세미나 XE서버서능개선

MySQL

https://github.com/major/MySQLTuner-perl

Page 29: 2014년 02월 XE세미나 XE서버서능개선

XE Setting

• XE 1.7.4 !

• mysqli_innodb type

• object cache 활용

• 불필요한 XE extensions 검토

• page module인 경우 cache 사용

Page 30: 2014년 02월 XE세미나 XE서버서능개선

그래도 안되면,• Scale Up

• 메모리 추가

• CPU 업그레이드

• SSD

• Scale Out

• 웹서버와 DB서버 등으로 분리

Page 31: 2014년 02월 XE세미나 XE서버서능개선

고려사항• 웹서버 부하 분산 방법 ?

• DNS RR, L4, HAProxy

• 첨부파일은… 어디에???

• rsync, lrsync 등으로 웹서버간 파일 동기화

• 별도 파일 서버

• 로그인 세션 공유 방법 ?

• DB, memcached

Page 32: 2014년 02월 XE세미나 XE서버서능개선

XE 공식사이트 서버

Page 33: 2014년 02월 XE세미나 XE서버서능개선

2008

• Web Server : apache 1대

• DB Server : MySQL 1대

Page 34: 2014년 02월 XE세미나 XE서버서능개선

2010

• Web Server(vm) : apache 4대

• DB Server : CUBRID 1대

• File Server : storage cloud

Page 35: 2014년 02월 XE세미나 XE서버서능개선

2012

• Web Server(vm) : apache 4대

• DB Server : CUBRID 2대

• master / slave

• File Server : storage cloud

Page 36: 2014년 02월 XE세미나 XE서버서능개선

2014, 현재

• Web Server(vm) : Nginx 1~5대, PHP 5.5

• DB Server : MariaDB 2대

• File Server(vm) : NFS 2대