2012-06-20 2 views
2

문제가 있습니다.freebsd/mysql 5.5 높은 I/O 사용량

저는 freebsd8 서버에서 PHP 5.3.13 -fpm과 nginx를 사용하여 mysql5.5를 사용하고 있습니다.

내가 iostat -d 2를보고있을 때 높은 디스크 I/O 20 30 mb/s를 쓰지만 실제로 df를 모니터링 할 때 볼 수있는만큼 실제 디스크가 늘어나는 것은 아닙니다.

"top"을보고 m 매개 변수를 눌러 토글하고 어떤 프로세스가이 디스크 활동을 일으키는 지 확인하고 mysql 서버를 표시합니다.

여기에서 시작 해야할지 모르겠다. 왜냐하면 왜이 높은 디스크 쓰기가 실제로 디스크 사용을 수정하지 않는지에 대해 약간 당혹 스럽기 때문입니다.

올바른 방향으로 나아갈 수있는 힌트를 던져 줄 수 있습니까? RAID10 듀얼 쿼드 코어 제온/4 × 120기가바이트의 SSD의 아래

내 "는 my.cnf"파일이

[mysqld] 
datadir=/var/db/mysql 
socket=/tmp/mysql.sock 
skip-external-locking 
skip-name-resolve 
query_cache_limit=256M 
query_cache_size=256M 
query_cache_type=1 
ft_min_word_len=3 
max_user_connections=200 
max_connections=200 
interactive_timeout=10 
wait_timeout=30 
connect_timeout=10 
thread_cache_size=128 
long_query_time=5 
key_buffer_size=1024M 
join_buffer=2M 
max_allowed_packet=16M 
table_cache=32384 
sort_buffer_size=4M 
read_buffer_size=4M 
max_connect_errors=10 
thread_concurrency=8 
myisam_sort_buffer_size=64M 
low_priority_updates=1 
concurrent_insert=2 
max_heap_table_size=128M 
tmp_table_size=128M 
slow_query_log=1 
slow_query_log_file=/var/db/mysql/razor-slow-log-by-katmai.log 
long_query_time=1 
log-queries-not-using-indexes 
server-id=1 
local-infile=0 
innodb_open_files=131072 
innodb_buffer_pool_size=8192M 
#new options 
#innodb_log_file_size=256M 
#innodb_log_buffer_size=4M 
#innodb_flush_log_at_trx_commit=2 
#innodb_thread_concurrency=8 
############################ 
#for recovery 
#innodb_force_recovery=4 
#innodb_file_per_table= 

#[mysql.server] 
#user=mysql 
#basedir=/var/lib 

[safe_mysqld] 
err-log=/var/db/mysql/razor-mysqld.log 
pid-file=/var/db/mysql/mysql.pid 
open_files_limit=131072 

#[mysqldump] 
#quick 
#max_allowed_packet=16M 

[mysql] 
no-auto-rehash 

[isamchk] 
key_buffer=64M 
sort_buffer=64M 
read_buffer=16M 
write_buffer=16M 

[myisamchk] 
key_buffer=64M 
sort_buffer=64M 
read_buffer=16M 
write_buffer=16M 

[mysqlhotcopy] 
interactive-timeout 

답변

1

표준 iostat 디스플레이 를 나타낸다/16 기가 바이트 RAM 결합 :

내 하드웨어

읽기 및 쓰기 :
foobox:~> iostat -d 2 
      ada0    ada1    cd0    cd1 
KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s 
27.52 5 0.15 14.82 2 0.03 0.00 0 0.00 0.00 0 0.00 
96.00 1 0.14 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 
128.00 1 0.19 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 
64.00 3 0.19 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 

그래서 내 생각은 전혀 기록이 표시되지 않는 것이, 오히려 읽습니다.

를 참조하려면 별도로 당신은 확장 된 통계의 -x 플래그를 사용해야합니다

foobox:~> iostat -d -x 2 
         extended device statistics 
device  r/s w/s kr/s kw/s qlen svc_t %b 
ada0  1.9 3.6 51.3 98.5 0 37.6 1 
ada1  0.8 1.3  3.3 28.0 0 12.5 0 
cd0  0.0 0.0  0.0  0.0 0 0.0 0 
cd1  0.0 0.0  0.0  0.0 0 0.0 0 
pass0  0.0 0.0  0.0  0.0 0 0.0 0 
pass1  0.0 0.0  0.0  0.0 0 0.0 0 
pass2  0.0 0.0  1.1  0.0 0 0.0 0 
pass3  0.0 0.0  0.0  0.0 0 0.0 0 

는 헤더의 의미의 전체 개요는 iostat의 매뉴얼 페이지를 참조하지만, KR/S는 당 읽어 킬로바이트 초 및 kw/s는 초당 기록 된 킬로바이트입니다.