mysql:16008
From: "yoku ts." <"yoku ts." <yoku0825@xxxxxxxxxx>>
Date: Wed, 31 Jul 2013 15:37:02 +0900
Subject: [mysql 16008] Re: 数百万件のload data infileの繰り返し中にmysqldがハング
こんにちは、yokuといいます。 パッと思いつく限りなのですが、 ・ご自身で考えられている通り、slashingが原因かも知れません。swapが起こらない程度までinnodb_buffer_pool_sizeを小さくしてみてはいかがでしょう。 ・innodb_log_file_size * innodb_log_files_in_groupが3GBとなっていますが、そのサイズが埋まりきった状態で(しかもswapがフツーに起こるような時に)チェックポイントが起こると時間が止まるかも知れません。 ・余談ですが、LOAD DATA INFILEをするには少しinnodb_log_buffer_sizeが小さいような気がします。 という感じです。。 何か参考になれば。 yoku ts. 2013年7月30日 14:25 ayako hiroe <roeaya03@xxxxxxxxxx>: > お世話になります。 > 広江彩子と申します。 > > サーバー移行のため数億件のレストアテストをしております。 > 300万件ずつのtab区切りプレインテキストのダンプを > バッチで何度もload infeを繰りかえしているうちmysqldが突然ハングします。 > > ハングの具体的な現象は > ・load中のCPU使用率からすると突然それが下がる > ・mysql関連のコマンドがすべてハング(killするしかない) > ・mysqladmin shutdownもハング > ・mysqldのスクリプトを実行してもハング > > 上記のような状態になると結局killallなどするしかありません。 > エラーログはハングの時点では何も吐いていません。 > killallでmysqldのプロセスを停止するので、システムをリブートしてmysqld startするときに > リカバリ・ロールバックプロセスががんがん走るのをエラーログが吐いているようになります。 > > バッチをまわし始めるとだんだん使用メモリが増え、しばらくするとスワップが発生します。 > それが原因かもわかりません。 > innodb使用です。 > > 何かお気づきの方がおられましたら > ご教授いただけますと幸いです。 > > > > OS: > Linux CentOS release6.4 > > MySQL: > MySQL 5.5.32 Remi > > ロケール: > utf8 > > my.cnf > > [mysqld] > innodb_file_per_table > back_log = 50 > max_connections = 500 > max_connect_errors = 10 > table_open_cache = 2048 > max_allowed_packet = 16M > binlog_cache_size = 1M > max_heap_table_size = 64M > read_buffer_size = 512M > read_rnd_buffer_size = 1M > ted per thread if sort is needed. > sort_buffer_size = 8M > join_buffer_size = 8M > thread_cache_size = 180 > thread_concurrency = 8 > query_cache_size = 64M > query_cache_limit = 2M > > ft_min_word_len = 4 > > default-storage-engine = InnoDB > thread_stack = 192K > transaction_isolation = REPEATABLE-READ > tmp_table_size = 64M > > binlog_format=mixed > slow_query_log > log-error=/var/log/myerror.log > log-warnings=1 > long_query_time = 120 > key_buffer_size = 32M > bulk_insert_buffer_size = 64M > myisam_sort_buffer_size = 128M > myisam_max_sort_file_size = 10G > myisam_repair_threads = 1 > > myisam_recover > innodb_io_capacity=2000 > innodb_additional_mem_pool_size = 16M > innodb_buffer_pool_size = 19G > > innodb_data_file_path = ibdata1:10M:autoextend > innodb_write_io_threads = 8 > innodb_read_io_threads = 8 > innodb_thread_concurrency = 16 > > innodb_flush_log_at_trx_commit = 1 > innodb_log_buffer_size = 8M > > innodb_log_file_size = 1G > innodb_log_files_in_group = 3 > > innodb_max_dirty_pages_pct = 90 > innodb_lock_wait_timeout = 120 > > > [mysqldump] > quick > > max_allowed_packet = 16M > default-character-set=utf8 > > [mysql] > no-auto-rehash > > # Only allow UPDATEs and DELETEs that use keys. > #safe-updates > default-character-set=utf8 > > [myisamchk] > key_buffer_size = 512M > sort_buffer_size = 512M > read_buffer = 8M > write_buffer = 8M > > [mysqlhotcopy] > interactive-timeout > > [mysqld_safe] > open-files-limit = 8192 >
@ 16007 2013-07-30 14:25 [ayako hiroe <roeaya0] 数百万件のload data infileの繰り返し中にmysqldがハング -> 16008 2013-07-31 15:37 ┣["yoku ts." <yoku0825] @ 16009 2013-07-31 15:45 ┗[Yasuo Ohgaki <yohgak] Re: [mysql 16007] 数百万件のload data infileの繰り返し中にmysqldがハング @ 16010 2013-07-31 16:52 ┗[ayako hiroe <roeaya0] Re: 数百万件のload data infileの繰り返し中にmysqldがハング @ 16011 2013-07-31 19:20 ┣[Yasuo Ohgaki <yohgak] Re: [mysql 16010] Re: 数百万件のload data infileの繰り返し中にmysqldがハング @ 16014 2013-08-01 02:23 ┃┗[ayako hiroe <roeaya0] Re: 数百万件のload data infileの繰り返し中にmysqldがハング @ 16015 2013-08-01 06:08 ┃ ┣[Yasuo Ohgaki <yohgak] Re: [mysql 16014] Re: 数百万件のload data infileの繰り返し中にmysqldがハング 16016 2013-08-02 22:58 ┃ ┗[とみたまさひろ <tomm] @ 16017 2013-08-03 14:47 ┃ ┗[ayako hiroe <roeaya0] 16012 2013-07-31 20:18 ┗["yoku ts." <yoku0825] @ 16013 2013-08-01 02:17 ┗[ayako hiroe <roeaya0]