2009년 12월 4일 금요일

Linux tune

튜닝관련 링크

http://www.ibm.com/developerworks/linux/library/l-tune-lamp-1/ 
http://www.ibm.com/developerworks/linux/library/l-tune-lamp-2.html
http://www.ibm.com/developerworks/linux/library/l-tune-lamp-3.html
http://jakarta.apache.org/jmeter/index.html
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html
http://wiki.kldp.org/wiki.php/TuningStrategy
http://kldp.org/node/28972
http://kldp.org/node/82799

아파치 튜닝

#httpd.conf


<IfModule prefork.c>
StartServers       50
MinSpareServers    15
MaxSpareServers   30
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

/etc/php.ini 최적화 기준값

Setting Description Recommended value
max_execution_time How many CPU-seconds a script can consume 30
max_input_time How long (seconds) a script can wait for input data 60
memory_limit How much memory (bytes) a script can consume before being killed 32M
output_buffering How much data (bytes) to buffer before sending out to the client 4096

/etc/php.ini op code 캐쉬

zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/dsk1/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="60"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Mysql튜닝 관련링크

http://kldp.org/node/95301
http://kldp.org/node/95329

튜닝 값 : /etc/my.cnf

 #user setting by minthe
innodb_buffer_pool_size = 256000000
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=2

innodb_log_file_size=5M

innodb_log_buffer_size=4M
innodb_thread_concurrency=2
long_query_time = 1
log-slow-queries = /var/log/mysql/mysql-slow.log

운영중인 서버의 mysql innodb_log_file_size 변경이슈

http://forums.mysql.com/read.php?22,32004,32014#msg-32014
shutdown mysql server 
make backup of data and log files 
remove InnoDB log files(/var/lib/mysql/ib_logile*)
set new value for innodb_log_file_size in my.cnf 
start mysqld 
check error logs to ensure everything went fine.

성능분석을 위한 Command

chkconfig --list
top (sort by P(cpu),M(Memory)
vmstat
free (total=free+used, used=buffers+cached+실제 사용량)
iostat -d 1
mysqladmin processlist
mysqladmin status
mysqladmin processlist | grep -v Sleep (state:Copying to tmp table - 조인시테이블)
mysql 쿼리분석 : explain SELECT * FROM `...`

댓글 없음:

댓글 쓰기