私自身は解決できないような問題に遭遇しています。私はmysql 5.1.37とレールアプリケーションを実行しているamazon EC2サーバー(大きなインスタンス)を持っています。サーバーは、最近のデータベース・プロセスがハングし、高いCPU使用率の問題を持ってきた、と私はmysqlのコンソールに行き、私が見るショーフルPROCESSLISTを行うときには、このようなクエリでデータを送信するとハングアップ:Mysqlのクエリは本番データベースサーバーでハングアップしますが、ローカルで正常に動作します
| 315 | root | 10.249.61.118:47812 | roomorama | Query | 193 | Sending data | SELECT COUNT(*) FROM (SELECT `rooms`.*, IFNULL(MIN(av.host_daily_price), rooms.host_daily_price) AS 'price' FROM `rooms` LEFT JOIN availabilities AS av ON (av.room_id = rooms.id AND av.date BETWEEN '2011-01-01' AND '2011-07-01' AND av.inquiry_id IS NULL AND (av.status IS NULL OR av.status = 0)) WHERE (rooms.deleted_at IS NULL) AND (`rooms`.`city_id` = 1 AND `rooms`.`hidden` = 0) AND (`rooms`.`created_at` <= '2011-01-01 16:54:43') GROUP BY rooms.id) as search_results |
これはまったく戻ってこないか、または完了するのにばかげて長い時間がかかるようです。 私の開発マシン(同じmysqlバージョン)でこのクエリを実行すると、結果はすぐに問題なく返されます。 どこから探し始めたらいいですか、これはMySQLのバグですか?非常にひどく設定されたmysqlサーバ? テーブルはInnoDBテーブルであり、ここでは、サーバー
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
character-set-server = utf8
default-character-set = utf8
default-storage-engine=innodb
skip-external-locking
skip-name-resolve
skip-federated
bind-address = 0.0.0.0
#
# * Fine Tuning
#
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#thread_concurrency = 10
max_allowed_packet = 32M
thread_stack = 192K
thread_cache_size = 8
key_buffer = 250M
max_connections = 1024
wait_timeout = 180
net_read_timeout = 30
net_write_timeout = 30
back_log = 128
table_cache = 1024
max_heap_table_size = 512M
#
# * InnoDB Tuning
#
innodb_buffer_pool_size = 5000M
innodb_additional_mem_pool_size = 20M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
#innodb_log_file_size=250M
#innodb_log_buffer_size=8M
#
# * Query Cache Configuration
#
# Query Cache
query_cache_limit = 4M
query_cache_size = 256M
query_cache_type = 1
#
# * Slow Query Logging
#
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
[mysqldump]
quick
quote-names
max_allowed_packet = 32M
default-character-set = utf8
[mysql]
default-character-set = utf8
[isamchk]
key_buffer = 16M
両方のサーバーの説明を表示してください。 #説明を選択blah blah blah – shantanuo