2

私は問題があります。

私はphp 5.3.13 -fpmとnginxを使用して、freebsd8サーバーでmysql5.5を使用しています。

iostat -d 2 を見ていると、書き込みで高いディスク i/o 20 30 mb/s が表示されますが、df の監視からわかる限り、これは実際のディスクの成長には反映されません。

「トップ」を見て、m パラメータを押してトグルし、このディスク アクティビティを引き起こしているプロセスを確認すると、それが mysql サーバーであることを示しています。

ここでどこから始めればよいかわかりません。なぜなら、この大量のディスク書き込みが実際に変更されたディスク使用量に変換されない理由が少し当惑するからです。

正しい方向に進むためのヒントを教えてください。

私のハードウェア: デュアル クアッド コア xeons / 4 x 120 GB ssd in raid10 / 16 GB RAM

以下は私の「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
4

1 に答える 1

1

標準iostatディスプレイには、読み取りと書き込みの組み合わせが表示されます。

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 は 1 秒あたりの読み取りキロバイト数であり、kw/s は 1 秒あたりの書き込みキロバイト数です。

于 2012-12-23T19:40:48.150 に答える