Magento MySQL hanging - mysql
I have searched the internet in many places to find some answers to problems in the database of a Magento installation.
The website is not available at such a moment (lasting most of the time about 15 minutes and resolves itself), not frontend and not backend.
I have tried various tuningscripts for mysql, setting indexing to manual, moving the DB to a dedicated server, etc. The logs of the Ubuntu OS nor the Magento logs show any unusual error message. Fail2Ban is installed against DDOS.
The mysql process is OR using 100+ percent OR using 0.0 percent (!!!) but the whole server seems te freeze. Sometimes even my typed characted with Putty/SSH are not shown by the server until it restores itself.
The dedicated DB-server has 32Gb RAM, mysql uses about 25G.
Top of ToP:
840 mysql 20 0 25,640g 0,011t 6632 S 26,2 34,2 270:08.31 mysqld
Settings my.cnf:
[mysqld]
key_buffer = 512M
max_allowed_packet = 64M
thread_stack = 512K
thread_cache_size = 512
sort_buffer_size = 24M
read_buffer_size = 8M
read_rnd_buffer_size = 24M
join_buffer_size = 128M
max_connections = 1024
concurrent_insert = 2
connect_timeout = 5
table_open_cache = 12288
tmp_table_size = 512M
max_heap_table_size = 512M
bulk_insert_buffer_size = 512M
open-files-limit = 8192
open-files = 1024
query_cache_type=1
query_cache_limit = 4M
query_cache_size = 512M
slow_query_log_file = /var/log/mysql/slow.log
slow_query_log = 0
long_query_time = 0.2
expire_logs_days = 10
max_binlog_size = 1024M
binlog_cache_size = 32K
innodb_thread_concurrency = 16
innodb_commit_concurrency = 2
innodb_buffer_pool_size = 16G
innodb_log_file_size = 512M
innodb_additional_mem_pool_size = 8M
#innodb_data_file_path = ibdata1:1024M:autoextend
innodb_file_per_table
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2G
Output of Show full processlist:
| Id | User | Host | db | Command | Time | State | Info |
++
| 76636 | juwelierwebshop | ...:40316 | juwelierwebshop | Query | 328 | query end | INSERT INTO abctools_merkgevuld (sku) VALUES ('JUPA22655') |
| 76638 | juwelierwebshop | ...:40344 | juwelierwebshop | Sleep | 328 | | NULL |
| 76642 | juwelierwebshop | ...:40484 | juwelierwebshop | Query | 54 | query end | SELECT `main_table`.* FROM `bolconnect_items_be` AS `main_table` WHERE (product_id = '62622') |
| 76695 | juwelierwebshop | ...:54112 | juwelierwebshop | Sleep | 603 | | NULL |
| 76696 | juwelierwebshop | ...:54126 | juwelierwebshop | Query | 54 | update | INSERT INTO `bolconnect_offerlist` (`ean`, `prijs`, `leverancier`, `sellerid`, `sellerrating`, `avdesc`, `koopbox`, `updated_at`) VALUES ('8718834545421', '619', 'abc', '1121928', '8.8', '5 - 7 dagen', '1', '2018-09-07 12:10:10') |
| 77039 | juwelierwebshop | ...:40290 | juwelierwebshop | Query | 54 | Sending data | INSERT INTO `sales_flat_order_grid` (`entity_id`, `status`, `store_id`, `customer_id`, `base_grand_total`, `base_total_paid`, `grand_total`, `total_paid`, `increment_id`, `base_currency_code`, `order_currency_code`, `store_name`, `created_at`, `updated_at`, `billing_name`, `shipping_name`) SELECT `main_table`.`entity_id`, `main_table`.`status`, `main_table`.`store_id`, `main_table`.`customer_id`, `main_table`.`base_grand_total`, `main_table`.`base_total_paid`, `main_table`.`grand_total`, `main_table`.`total_paid`, `main_table`.`increment_id`, `main_table`.`base_currency_code`, `main_table`.`order_currency_code`, `main_table`.`store_name`, `main_table`.`created_at`, `main_table`.`updated_at`, CONCAT(IFNULL(table_billing_name.firstname, ''), ' ', IFNULL(table_billing_name.lastname, '')) AS `billing_name`, CONCAT(IFNULL(table_shipping_name.firstname, ''), ' ', IFNULL(table_shipping_name.lastname, '')) AS `shipping_name` FROM `sales_flat_order` AS `main_table`
LEFT JOIN `sales_flat_order_address` AS `table_billing_name` ON `main_table`.`billing_address_id`=`table_billing_name`.`entity_id`
LEFT JOIN `sales_flat_order_address` AS `table_shipping_name` ON `main_table`.`shipping_address_id`=`table_shipping_name`.`entity_id` WHERE (main_table.entity_id IN('27894')) ON DUPLICATE KEY UPDATE `entity_id` = VALUES(`entity_id`), `status` = VALUES(`status`), `store_id` = VALUES(`store_id`), `customer_id` = VALUES(`customer_id`), `base_grand_total` = VALUES(`base_grand_total`), `base_total_paid` = VALUES(`base_total_paid`), `grand_total` = VALUES(`grand_total`), `total_paid` = VALUES(`total_paid`), `increment_id` = VALUES(`increment_id`), `base_currency_code` = VALUES(`base_currency_code`), `order_currency_code` = VALUES(`order_currency_code`), `store_name` = VALUES(`store_name`), `created_at` = VALUES(`created_at`), `updated_at` = VALUES(`updated_at`), `billing_name` = VALUES(`billing_name`), `shipping_name` = VALUES(`shipping_name`) |
| 77041 | juwelierwebshop | ...:40578 | juwelierwebshop | Query | 54 | statistics | SELECT `catalog_product_entity`.* FROM `catalog_product_entity` WHERE (entity_id ='45702') |
| 77042 | juwelierwebshop | ...:40766 | juwelierwebshop | Query | 54 | Sending data | SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_flat_2` AS `e`
INNER JOIN `report_viewed_product_index` AS `idx_table` ON (idx_table.product_id=e.entity_id) AND (idx_table.visitor_id = '')
INNER JOIN `catalog_category_product_index` AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id=2 AND cat_index.category_id = '2'
LEFT JOIN `core_store` AS `store_index` ON store_index.store_id = idx_table.store_id
LEFT JOIN `core_store_group` AS `store_group_index` ON store_index.group_id = store_group_index.group_id
LEFT JOIN `catalog_category_product_index` AS `store_cat_index` ON store_cat_index.product_id = e.entity_id AND store_cat_index.store_id = idx_table.store_id AND store_cat_index.category_id=store_group_index.root_category_id WHERE (cat_index.visibility IN(3, 2, 4) OR store_cat_index.visibility IN(3, 2, 4)) |
| 77043 | juwelierwebshop | ...:40930 | juwelierwebshop | Query | 54 | statistics | SELECT `catalog_category_entity`.* FROM `catalog_category_entity` WHERE (entity_id ='37') |
| 77047 | juwelierwebshop | ...:42478 | juwelierwebshop | Query | 53 | Sending data | SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_entity` AS `e`
INNER JOIN `catalog_product_entity_int` AS `at_status` ON (`at_status`.`entity_id` = `e`.`entity_id`) AND (`at_status`.`attribute_id` = '96') AND (`at_status`.`store_id` = 0)
INNER JOIN `catalog_product_entity_int` AS `at_visibility` ON (`at_visibility`.`entity_id` = `e`.`entity_id`) AND (`at_visibility`.`attribute_id` = '102') AND (`at_visibility`.`store_id` = 0)
INNER JOIN `catalog_product_entity_varchar` AS `at_name` ON (`at_name`.`entity_id` = `e`.`entity_id`) AND (`at_name`.`attribute_id` = '71') AND (`at_name`.`store_id` = 0) WHERE (at_name.value LIKE '%BUDDHA TO BUDDHA 811 SIGNIFY CORD BRACELET BROWN%') |
| 77050 | juwelierwebshop | ...:43538 | juwelierwebshop | Query | 54 | updating | UPDATE `sales_flat_quote_address` SET `quote_id` = '62660', `created_at` = '2018-09-02 19:38:03', `updated_at` = '2018-09-07 12:10:10', `customer_id` = '22445', `save_in_address_book` = '0', `customer_address_id` = '45277', `address_type` = 'billing', `email` = 'abc#email.nl', `prefix` = NULL, `firstname` = 'Pieter', `middlename` = NULL, `lastname` = 'Slits', `suffix` = NULL, `company` = NULL, `street` = 'Steurgat\n92', `city` = 'Gorinchem', `region` = 'Zuid-Holland', `region_id` = NULL, `postcode` = '4208BL', `country_id` = 'NL', `telephone` = '0621263156', `fax` = NULL, `same_as_billing` = '0', `free_shipping` = '0', `collect_shipping_rates` = '0', `shipping_method` = NULL, `shipping_description` = NULL, `weight` = '0', `subtotal` = '0', `base_subtotal` = '0', `subtotal_with_discount` = '0', `base_subtotal_with_discount` = '0', `tax_amount` = '0', `base_tax_amount` = '0', `shipping_amount` = '0', `base_shipping_amount` = '0', `shipping_tax_amount` = '0', `base_shipping_tax_amount` = '0', `discount_amount` = '0', `base_discount_amount` = '0', `grand_total` = '0', `base_grand_total` = '0', `customer_notes` = NULL, `applied_taxes` = 'a:0:{}', `discount_description` = NULL, `shipping_discount_amount` = NULL, `base_shipping_discount_amount` = NULL, `subtotal_incl_tax` = '0', `base_subtotal_total_incl_tax` = NULL, `hidden_tax_amount` = NULL, `base_hidden_tax_amount` = NULL, `shipping_hidden_tax_amount` = NULL, `base_shipping_hidden_tax_amnt` = NULL, `shipping_incl_tax` = '0', `base_shipping_incl_tax` = '0', `vat_id` = NULL, `vat_is_valid` = NULL, `vat_request_id` = NULL, `vat_request_date` = NULL, `vat_request_success` = NULL, `gift_message_id` = NULL, `kp_id` = NULL, `payment_fee` = '0', `base_payment_fee` = '0', `payment_fee_tax` = '0', `base_payment_fee_tax` = '0' WHERE (address_id='121757') |
| 77052 | juwelierwebshop | ...:43840 | juwelierwebshop | Query | 54 | init | commit |
| 77053 | juwelierwebshop | ...:44590 | juwelierwebshop | Query | 204 | removing tmp table | SELECT `customer_address_entity_varchar`.`entity_id`, `customer_address_entity_varchar`.`attribute_id`, `customer_address_entity_varchar`.`value` FROM `customer_address_entity_varchar` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('26', '24', '27', '32', '20', '22', '21', '30', '19', '28', '23', '31', '36', '39', '38')) UNION ALL SELECT `customer_address_entity_int`.`entity_id`, `customer_address_entity_int`.`attribute_id`, `customer_address_entity_int`.`value` FROM `customer_address_entity_int` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('29', '37', '40')) UNION ALL SELECT `customer_address_entity_text`.`entity_id`, `customer_address_entity_text`.`attribute_id`, `customer_address_entity_text`.`value` FROM `customer_address_entity_text` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('25')) |
| 77055 | juwelierwebshop | ...:44704 | juwelierwebshop | Query | 203 | Opening tables | SELECT `customer_address_entity_varchar`.`entity_id`, `customer_address_entity_varchar`.`attribute_id`, `customer_address_entity_varchar`.`value` FROM `customer_address_entity_varchar` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('26', '24', '27', '32', '20', '22', '21', '30', '19', '28', '23', '31', '36', '39', '38')) UNION ALL SELECT `customer_address_entity_int`.`entity_id`, `customer_address_entity_int`.`attribute_id`, `customer_address_entity_int`.`value` FROM `customer_address_entity_int` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('29', '37', '40')) UNION ALL SELECT `customer_address_entity_text`.`entity_id`, `customer_address_entity_text`.`attribute_id`, `customer_address_entity_text`.`value` FROM `customer_address_entity_text` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('25')) |
| 77056 | juwelierwebshop | ...:44950 | juwelierwebshop | Query | 199 | Opening tables | SELECT `customer_address_entity_varchar`.`entity_id`, `customer_address_entity_varchar`.`attribute_id`, `customer_address_entity_varchar`.`value` FROM `customer_address_entity_varchar` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('26', '24', '27', '32', '20', '22', '21', '30', '19', '28', '23', '31', '36', '39', '38')) UNION ALL SELECT `customer_address_entity_int`.`entity_id`, `customer_address_entity_int`.`attribute_id`, `customer_address_entity_int`.`value` FROM `customer_address_entity_int` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('29', '37', '40')) UNION ALL SELECT `customer_address_entity_text`.`entity_id`, `customer_address_entity_text`.`attribute_id`, `customer_address_entity_text`.`value` FROM `customer_address_entity_text` WHERE (entity_type_id =2) AND (entity_id IN (45277)) AND (attribute_id IN ('25')) |
| 77058 | juwelierwebshop | ...:45508 | juwelierwebshop | Query | 54 | Sending data | SELECT `catalog_product_website`.`website_id` FROM `catalog_product_website` WHERE (product_id = 16722) |
| 77063 | juwelierwebshop | ...:45836 | juwelierwebshop | Query | 54 | update | INSERT INTO `sales_flat_quote_address` (`quote_id`, `created_at`, `updated_at`, `customer_id`, `address_type`, `city`, `region`, `region_id`, `postcode`, `country_id`, `same_as_billing`, `collect_shipping_rates`, `shipping_method`, `shipping_description`, `shipping_amount`, `base_shipping_amount`) VALUES ('65679', '2018-09-07 12:10:10', '2018-09-07 12:10:10', NULL, 'shipping', NULL, NULL, '0', NULL, 'NL', '1', '1', 'flatrate_flatrate', NULL, '0', '0') |
| 77067 | juwelierwebshop | ...:46232 | juwelierwebshop | Query | 229 | update | INSERT INTO `sales_flat_quote` (`store_id`, `created_at`, `updated_at`, `store_to_base_rate`, `store_to_quote_rate`, `base_currency_code`, `store_currency_code`, `quote_currency_code`, `remote_ip`, `global_currency_code`, `base_to_global_rate`, `base_to_quote_rate`, `is_changed`, `allow_alerts`) VALUES ('2', '2018-09-07 12:07:15', '2018-09-07 12:07:15', '1', '1', 'EUR', 'EUR', 'EUR', '81.169.242.132', 'EUR', '1', '1', '1', '1') |
| 77069 | juwelierwebshop | ...:46678 | juwelierwebshop | Query | 222 | query end | SELECT `t_d`.`entity_id`, `t_d`.`attribute_id`, `t_d`.`value` AS `default_value`, `t_s`.`value` AS `store_value`, IF(t_s.value_id IS NULL, t_d.value, t_s.value) AS `value` FROM `catalog_category_entity_varchar` AS `t_d`
LEFT JOIN `catalog_category_entity_varchar` AS `t_s` ON t_s.attribute_id = t_d.attribute_id AND t_s.entity_id = t_d.entity_id AND t_s.store_id = 2 WHERE (t_d.entity_type_id = 3) AND (t_d.entity_id IN (260)) AND (t_d.attribute_id IN ('41')) AND (t_d.store_id = 0) |
| 77074 | juwelierwebshop | ...:46984 | juwelierwebshop | Query | 216 | query end | SELECT `e`.*, IF(at_is_active.value_id > 0, at_is_active.value, at_is_active_default.value) AS `is_active` FROM `catalog_category_entity` AS `e`
INNER JOIN `catalog_category_entity_int` AS `at_is_active_default` ON (`at_is_active_default`.`entity_id` = `e`.`entity_id`) AND (`at_is_active_default`.`attribute_id` = '42') AND `at_is_active_default`.`store_id` = 0
LEFT JOIN `catalog_category_entity_int` AS `at_is_active` ON (`at_is_active`.`entity_id` = `e`.`entity_id`) AND (`at_is_active`.`attribute_id` = '42') AND (`at_is_active`.`store_id` = 2) WHERE (`e`.`entity_type_id` = '3') AND (`e`.`entity_id` IN('365')) AND (IF(at_is_active.value_id > 0, at_is_active.value, at_is_active_default.value) = '1') |
| 77076 | juwelierwebshop | ...:47082 | juwelierwebshop | Query | 214 | query end | SELECT `t_d`.`entity_id`, `t_d`.`attribute_id`, `t_d`.`value` AS `default_value`, `t_s`.`value` AS `store_value`, IF(t_s.value_id IS NULL, t_d.value, t_s.value) AS `value` FROM `catalog_category_entity_varchar` AS `t_d`
LEFT JOIN `catalog_category_entity_varchar` AS `t_s` ON t_s.attribute_id = t_d.attribute_id AND t_s.entity_id = t_d.entity_id AND t_s.store_id = 2 WHERE (t_d.entity_type_id = 3) AND (t_d.entity_id IN (187)) AND (t_d.attribute_id IN ('41')) AND (t_d.store_id = 0)
.. and more
Output ulimit -a:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1030957
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1030957
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Rate Per Second=RPS
Suggestions to consider for your my.cnf [mysqld] section
thread_cache_size=100 # from 512 see refman 5.7 for CAP of 100 suggestions to avoid OOM
innodb_log_buffer_size=512M # from 2G - BUFFER should NOT be > file size
innodb_log_file_size=2G # from 512M for a reasonable relationship to BUFFER
the following 4 are per CONNECTION values and you are OVER the TOP
sort_buffer_size=4M # from 24M default is 2M
read_buffer_size=256K # from 8M default is 128K to reduce handler_read_next RPS
read_rnd_buffer_size=512K # from 24M default is 256K to reduce handler_read_rnd_next RPS
join_buffer_size=256K # from 128M default is 128K for row pointers
Please view my profile, Network profile for contact info including my Skype ID and get in touch.
As long as my post is getting too long, i will post the additional info here...
SHOW GLOBAL STATUS:
Aborted_clients
146
Aborted_connects
286
Binlog_cache_disk_use
0
Binlog_cache_use
0
Binlog_stmt_cache_disk_use
0
Binlog_stmt_cache_use
0
Bytes_received
262381827589
Bytes_sent
934591758226
Com_admin_commands
13
Com_assign_to_keycache
0
Com_alter_db
0
Com_alter_db_upgrade
0
Com_alter_event
0
Com_alter_function
0
Com_alter_procedure
0
Com_alter_server
0
Com_alter_table
0
Com_alter_tablespace
0
Com_alter_user
0
Com_analyze
0
Com_begin
21257645
Com_binlog
0
Com_call_procedure
0
Com_change_db
303
Com_change_master
0
Com_check
0
Com_checksum
0
Com_commit
21257476
Com_create_db
0
Com_create_event
0
Com_create_function
0
Com_create_index
0
Com_create_procedure
0
Com_create_server
0
Com_create_table
1981
Com_create_trigger
0
Com_create_udf
0
Com_create_user
0
Com_create_view
0
Com_dealloc_sql
0
Com_delete
8394541
Com_delete_multi
63886
Com_do
0
Com_drop_db
0
Com_drop_event
0
Com_drop_function
0
Com_drop_index
0
Com_drop_procedure
0
Com_drop_server
0
Com_drop_table
1980
Com_drop_trigger
0
Com_drop_user
0
Com_drop_view
0
Com_empty_query
0
Com_execute_sql
0
Com_flush
11
Com_get_diagnostics
0
Com_grant
0
Com_ha_close
0
Com_ha_open
0
Com_ha_read
0
Com_help
0
Com_insert
11568107
Com_insert_select
1143891
Com_install_plugin
0
Com_kill
0
Com_load
0
Com_lock_tables
0
Com_optimize
0
Com_preload_keys
0
Com_prepare_sql
0
Com_purge
0
Com_purge_before_date
0
Com_release_savepoint
0
Com_rename_table
0
Com_rename_user
0
Com_repair
0
Com_replace
12
Com_replace_select
0
Com_reset
0
Com_resignal
0
Com_revoke
0
Com_revoke_all
0
Com_rollback
151
Com_rollback_to_savepoint
0
Com_savepoint
0
Com_select
450132043
Com_set_option
2690585
Com_signal
0
Com_show_binlog_events
0
Com_show_binlogs
10
Com_show_charsets
0
Com_show_collations
0
Com_show_create_db
0
Com_show_create_event
0
Com_show_create_func
0
Com_show_create_proc
0
Com_show_create_table
38
Com_show_create_trigger
0
Com_show_databases
0
Variable_name
Value
Com_show_engine_logs
0
Com_show_engine_mutex
0
Com_show_engine_status
0
Com_show_events
0
Com_show_errors
0
Com_show_fields
18447
Com_show_function_code
0
Com_show_function_status
0
Com_show_grants
17
Com_show_keys
9599
Com_show_master_status
26
Com_show_open_tables
0
Com_show_plugins
3
Com_show_privileges
0
Com_show_procedure_code
0
Com_show_procedure_status
0
Com_show_processlist
0
Com_show_profile
0
Com_show_profiles
0
Com_show_relaylog_events
0
Com_show_slave_hosts
0
Com_show_slave_status
26
Com_show_status
3
Com_show_storage_engines
1
Com_show_table_status
20700
Com_show_tables
236
Com_show_triggers
0
Com_show_variables
193
Com_show_warnings
56103
Com_slave_start
0
Com_slave_stop
0
Com_stmt_close
0
Com_stmt_execute
0
Com_stmt_fetch
0
Com_stmt_prepare
0
Com_stmt_reprepare
0
Com_stmt_reset
0
Com_stmt_send_long_data
0
Com_truncate
379
Com_uninstall_plugin
0
Com_unlock_tables
0
Com_update
13681401
Com_update_multi
38290135
Com_xa_commit
0
Com_xa_end
0
Com_xa_prepare
0
Com_xa_recover
0
Com_xa_rollback
0
Com_xa_start
0
Compression
OFF
Connection_errors_accept
0
Connection_errors_internal
0
Connection_errors_max_connections
0
Connection_errors_peer_address
0
Connection_errors_select
0
Connection_errors_tcpwrap
0
Connections
1754922
Created_tmp_disk_tables
32299788
Created_tmp_files
2827
Created_tmp_tables
67858347
Delayed_errors
0
Delayed_insert_threads
0
Delayed_writes
0
Flush_commands
1
Handler_commit
537556955
Handler_delete
21203603
Handler_discover
0
Handler_external_lock
2080617356
Handler_mrr_init
0
Handler_prepare
0
Handler_read_first
5701366
Handler_read_key
26262529583
Handler_read_last
31617
Handler_read_next
109928062206
Handler_read_prev
212093135
Handler_read_rnd
6690959918
Handler_read_rnd_next
26130974483
Handler_rollback
99880
Handler_savepoint
0
Handler_savepoint_rollback
0
Handler_update
80365845
Handler_write
3262327514
Innodb_buffer_pool_dump_status
not started
Innodb_buffer_pool_load_status
not started
Innodb_buffer_pool_pages_data
384476
Innodb_buffer_pool_bytes_data
6299254784
Innodb_buffer_pool_pages_dirty
95
Innodb_buffer_pool_bytes_dirty
1556480
Innodb_buffer_pool_pages_flushed
16849536
Innodb_buffer_pool_pages_free
617389
Innodb_buffer_pool_pages_misc
46707
Innodb_buffer_pool_pages_total
1048572
Innodb_buffer_pool_read_ahead_rnd
0
Innodb_buffer_pool_read_ahead
26706
Innodb_buffer_pool_read_ahead_evicted
0
Innodb_buffer_pool_read_requests
235232077708
Innodb_buffer_pool_reads
157875
Innodb_buffer_pool_wait_free
0
Innodb_buffer_pool_write_requests
523402314
Innodb_data_fsyncs
8277097
Variable_name
Value
Innodb_data_pending_fsyncs
0
Innodb_data_pending_reads
0
Innodb_data_pending_writes
0
Innodb_data_read
3187642368
Innodb_data_reads
195006
Innodb_data_writes
46743559
Innodb_data_written
669383931392
Innodb_dblwr_pages_written
16849536
Innodb_dblwr_writes
2819209
Innodb_have_atomic_builtins
ON
Innodb_log_waits
0
Innodb_log_write_requests
231729452
Innodb_log_writes
26991919
Innodb_os_log_fsyncs
1177300
Innodb_os_log_pending_fsyncs
0
Innodb_os_log_pending_writes
0
Innodb_os_log_written
117223886848
Innodb_page_size
16384
Innodb_pages_created
244392
Innodb_pages_read
194427
Innodb_pages_written
16849536
Innodb_row_lock_current_waits
0
Innodb_row_lock_time
19483692
Innodb_row_lock_time_avg
2345
Innodb_row_lock_time_max
51715
Innodb_row_lock_waits
8306
Innodb_rows_deleted
20957957
Innodb_rows_inserted
27091885
Innodb_rows_read
156431546126
Innodb_rows_updated
25463060
Innodb_num_open_files
573
Innodb_truncated_status_writes
0
Innodb_available_undo_logs
128
Key_blocks_not_flushed
0
Key_blocks_unused
247176
Key_blocks_used
181543
Key_read_requests
478108001
Key_reads
171224
Key_write_requests
42044666
Key_writes
32000663
Last_query_cost
0.000000
Last_query_partial_plans
0
Max_used_connections
108
Not_flushed_delayed_rows
0
Open_files
132
Open_streams
0
Open_table_definitions
695
Open_tables
2157
Opened_files
129209548
Opened_table_definitions
5035
Opened_tables
98173
Performance_schema_accounts_lost
0
Performance_schema_cond_classes_lost
0
Performance_schema_cond_instances_lost
0
Performance_schema_digest_lost
0
Performance_schema_file_classes_lost
0
Performance_schema_file_handles_lost
0
Performance_schema_file_instances_lost
0
Performance_schema_hosts_lost
0
Performance_schema_locker_lost
0
Performance_schema_mutex_classes_lost
0
Performance_schema_mutex_instances_lost
0
Performance_schema_rwlock_classes_lost
0
Performance_schema_rwlock_instances_lost
0
Performance_schema_session_connect_attrs_lost
0
Performance_schema_socket_classes_lost
0
Performance_schema_socket_instances_lost
0
Performance_schema_stage_classes_lost
0
Performance_schema_statement_classes_lost
0
Performance_schema_table_handles_lost
0
Performance_schema_table_instances_lost
0
Performance_schema_thread_classes_lost
0
Performance_schema_thread_instances_lost
0
Performance_schema_users_lost
0
Prepared_stmt_count
0
Qcache_free_blocks
1
Qcache_free_memory
536852816
Qcache_hits
0
Qcache_inserts
0
Qcache_lowmem_prunes
0
Qcache_not_cached
450105606
Qcache_queries_in_cache
0
Qcache_total_blocks
1
Queries
570344429
Questions
570344415
Select_full_join
336026
Select_full_range_join
1914512
Select_range
21082218
Select_range_check
0
Select_scan
37881116
Slave_heartbeat_period
Slave_last_heartbeat
Slave_open_temp_tables
0
Slave_received_heartbeats
Slave_retried_transactions
Slave_running
OFF
Slow_launch_threads
0
Slow_queries
359667
Sort_merge_passes
1690
Sort_range
24277510
Variable_name
Value
Sort_rows
2017426115
Sort_scan
66464668
Ssl_accept_renegotiates
0
Ssl_accepts
0
Ssl_callback_cache_hits
0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects
0
Ssl_connect_renegotiates
0
Ssl_ctx_verify_depth
0
Ssl_ctx_verify_mode
0
Ssl_default_timeout
0
Ssl_finished_accepts
0
Ssl_finished_connects
0
Ssl_server_not_after
Ssl_server_not_before
Ssl_session_cache_hits
0
Ssl_session_cache_misses
0
Ssl_session_cache_mode
NONE
Ssl_session_cache_overflows
0
Ssl_session_cache_size
0
Ssl_session_cache_timeouts
0
Ssl_sessions_reused
0
Ssl_used_session_cache_entries
0
Ssl_verify_depth
0
Ssl_verify_mode
0
Ssl_version
Table_locks_immediate
1022116993
Table_locks_waited
155
Table_open_cache_hits
1022210351
Table_open_cache_misses
2690
Table_open_cache_overflows
0
Tc_log_max_pages_used
0
Tc_log_page_size
0
Tc_log_page_waits
0
Threads_cached
103
Threads_connected
5
Threads_created
108
Threads_running
1
Uptime
929242
Uptime_since_flush_status
929242
SHOW GLOBAL VARIABLES:
auto_increment_increment
1
auto_increment_offset
1
autocommit
ON
automatic_sp_privileges
ON
back_log
254
basedir
/usr
big_tables
OFF
bind_address
*
binlog_cache_size
32768
binlog_checksum
CRC32
binlog_direct_non_transactional_updates
OFF
binlog_format
STATEMENT
binlog_max_flush_queue_time
0
binlog_order_commits
ON
binlog_row_image
FULL
binlog_rows_query_log_events
OFF
binlog_stmt_cache_size
32768
bulk_insert_buffer_size
536870912
character_set_client
latin1
character_set_connection
latin1
character_set_database
latin1
character_set_filesystem
binary
character_set_results
latin1
character_set_server
latin1
character_set_system
utf8
character_sets_dir
/usr/share/mysql/charsets/
collation_connection
latin1_swedish_ci
collation_database
latin1_swedish_ci
collation_server
latin1_swedish_ci
completion_type
NO_CHAIN
concurrent_insert
ALWAYS
connect_timeout
5
core_file
OFF
datadir
/var/lib/mysql/
date_format
%Y-%m-%d
datetime_format
%Y-%m-%d %H:%i:%s
default_storage_engine
InnoDB
default_tmp_storage_engine
InnoDB
default_week_format
0
delay_key_write
ON
delayed_insert_limit
100
delayed_insert_timeout
300
delayed_queue_size
1000
disconnect_on_expired_password
ON
div_precision_increment
4
end_markers_in_json
OFF
enforce_gtid_consistency
OFF
eq_range_index_dive_limit
10
event_scheduler
OFF
expire_logs_days
10
explicit_defaults_for_timestamp
OFF
flush
OFF
flush_time
0
foreign_key_checks
ON
ft_boolean_syntax
+ -><()~*:""&|
ft_max_word_len
84
ft_min_word_len
4
ft_query_expansion_limit
20
ft_stopword_file
(built-in)
general_log
OFF
general_log_file
/var/lib/mysql/xxx.log
group_concat_max_len
1024
gtid_executed
gtid_mode
OFF
gtid_owned
gtid_purged
have_compress
YES
have_crypt
YES
have_dynamic_loading
YES
have_geometry
YES
have_openssl
DISABLED
have_profiling
YES
have_query_cache
YES
have_rtree_keys
YES
have_ssl
DISABLED
have_symlink
YES
host_cache_size
654
hostname
h2776883.stratoserver.net
ignore_builtin_innodb
OFF
ignore_db_dirs
init_connect
init_file
init_slave
innodb_adaptive_flushing
ON
innodb_adaptive_flushing_lwm
10
innodb_adaptive_hash_index
ON
innodb_adaptive_max_sleep_delay
150000
innodb_additional_mem_pool_size
8388608
innodb_api_bk_commit_interval
5
innodb_api_disable_rowlock
OFF
innodb_api_enable_binlog
OFF
innodb_api_enable_mdl
OFF
innodb_api_trx_level
0
innodb_autoextend_increment
64
innodb_autoinc_lock_mode
1
innodb_buffer_pool_dump_at_shutdown
OFF
innodb_buffer_pool_dump_now
OFF
innodb_buffer_pool_filename
ib_buffer_pool
innodb_buffer_pool_instances
8
innodb_buffer_pool_load_abort
OFF
Variable_name
Value
innodb_buffer_pool_load_at_startup
OFF
innodb_buffer_pool_load_now
OFF
innodb_buffer_pool_size
17179869184
innodb_change_buffer_max_size
25
innodb_change_buffering
all
innodb_checksum_algorithm
innodb
innodb_checksums
ON
innodb_cmp_per_index_enabled
OFF
innodb_commit_concurrency
0
innodb_compression_failure_threshold_pct
5
innodb_compression_level
6
innodb_compression_pad_pct_max
50
innodb_concurrency_tickets
5000
innodb_data_file_path
ibdata1:12M:autoextend
innodb_data_home_dir
innodb_disable_sort_file_cache
OFF
innodb_doublewrite
ON
innodb_fast_shutdown
1
innodb_file_format
Antelope
innodb_file_format_check
ON
innodb_file_format_max
Antelope
innodb_file_per_table
ON
innodb_flush_log_at_timeout
1
innodb_flush_log_at_trx_commit
2
innodb_flush_method
innodb_flush_neighbors
1
innodb_flushing_avg_loops
30
innodb_force_load_corrupted
OFF
innodb_force_recovery
0
innodb_ft_aux_table
innodb_ft_cache_size
8000000
innodb_ft_enable_diag_print
OFF
innodb_ft_enable_stopword
ON
innodb_ft_max_token_size
84
innodb_ft_min_token_size
3
innodb_ft_num_word_optimize
2000
innodb_ft_result_cache_limit
2000000000
innodb_ft_server_stopword_table
innodb_ft_sort_pll_degree
2
innodb_ft_total_cache_size
640000000
innodb_ft_user_stopword_table
innodb_io_capacity
200
innodb_io_capacity_max
2000
innodb_large_prefix
OFF
innodb_lock_wait_timeout
50
innodb_locks_unsafe_for_binlog
OFF
innodb_log_buffer_size
2147483648
innodb_log_compressed_pages
ON
innodb_log_file_size
536870912
innodb_log_files_in_group
2
innodb_log_group_home_dir
./
innodb_lru_scan_depth
1024
innodb_max_dirty_pages_pct
75
innodb_max_dirty_pages_pct_lwm
0
innodb_max_purge_lag
0
innodb_max_purge_lag_delay
0
innodb_mirrored_log_groups
1
innodb_monitor_disable
innodb_monitor_enable
innodb_monitor_reset
innodb_monitor_reset_all
innodb_old_blocks_pct
37
innodb_old_blocks_time
1000
innodb_online_alter_log_max_size
134217728
innodb_open_files
12288
innodb_optimize_fulltext_only
OFF
innodb_page_size
16384
innodb_print_all_deadlocks
OFF
innodb_purge_batch_size
300
innodb_purge_threads
1
innodb_random_read_ahead
OFF
innodb_read_ahead_threshold
56
innodb_read_io_threads
4
innodb_read_only
OFF
innodb_replication_delay
0
innodb_rollback_on_timeout
OFF
innodb_rollback_segments
128
innodb_sort_buffer_size
1048576
innodb_spin_wait_delay
6
innodb_stats_auto_recalc
ON
innodb_stats_method
nulls_equal
innodb_stats_on_metadata
OFF
innodb_stats_persistent
ON
innodb_stats_persistent_sample_pages
20
innodb_stats_sample_pages
8
innodb_stats_transient_sample_pages
8
innodb_status_output
OFF
innodb_status_output_locks
OFF
innodb_strict_mode
OFF
innodb_support_xa
ON
innodb_sync_array_size
1
innodb_sync_spin_loops
30
innodb_table_locks
ON
innodb_thread_concurrency
0
innodb_thread_sleep_delay
10000
innodb_undo_directory
.
innodb_undo_logs
128
innodb_undo_tablespaces
0
innodb_use_native_aio
ON
innodb_use_sys_malloc
ON
Variable_name
Value
innodb_version
5.6.16
innodb_write_io_threads
4
interactive_timeout
28800
join_buffer_size
131072
keep_files_on_create
OFF
key_buffer_size
536870912
key_cache_age_threshold
300
key_cache_block_size
1024
key_cache_division_limit
100
large_files_support
ON
large_page_size
0
large_pages
OFF
lc_messages
en_US
lc_messages_dir
/usr/share/mysql/
lc_time_names
en_US
license
GPL
local_infile
ON
lock_wait_timeout
31536000
locked_in_memory
OFF
log_bin
OFF
log_bin_basename
log_bin_index
log_bin_trust_function_creators
OFF
log_bin_use_v1_row_events
OFF
log_error
log_output
FILE
log_queries_not_using_indexes
OFF
log_slave_updates
OFF
log_slow_admin_statements
OFF
log_slow_slave_statements
OFF
log_throttle_queries_not_using_indexes
0
log_warnings
1
long_query_time
0.200000
low_priority_updates
OFF
lower_case_file_system
OFF
lower_case_table_names
0
master_info_repository
FILE
master_verify_checksum
OFF
max_allowed_packet
67108864
max_binlog_cache_size
18446744073709547520
max_binlog_size
1073741824
max_binlog_stmt_cache_size
18446744073709547520
max_connect_errors
100
max_connections
1024
max_delayed_threads
20
max_error_count
64
max_heap_table_size
536870912
max_insert_delayed_threads
20
max_join_size
18446744073709551615
max_length_for_sort_data
1024
max_prepared_stmt_count
16382
max_relay_log_size
0
max_seeks_for_key
18446744073709551615
max_sort_length
1024
max_sp_recursion_depth
0
max_tmp_tables
32
max_user_connections
128
max_write_lock_count
18446744073709551615
metadata_locks_cache_size
1024
metadata_locks_hash_instances
8
min_examined_row_limit
0
multi_range_count
256
myisam_data_pointer_size
6
myisam_max_sort_file_size
9223372036853727232
myisam_mmap_size
18446744073709551615
myisam_recover_options
OFF
myisam_repair_threads
1
myisam_sort_buffer_size
8388608
myisam_stats_method
nulls_unequal
myisam_use_mmap
OFF
net_buffer_length
16384
net_read_timeout
30
net_retry_count
10
net_write_timeout
60
new
OFF
old
OFF
old_alter_table
OFF
old_passwords
0
open_files_limit
25610
optimizer_prune_level
1
optimizer_search_depth
62
optimizer_switch
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on
optimizer_trace
enabled=off,one_line=off
optimizer_trace_features
greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
optimizer_trace_limit
1
optimizer_trace_max_mem_size
16384
optimizer_trace_offset
-1
performance_schema
ON
performance_schema_accounts_size
100
performance_schema_digests_size
10000
performance_schema_events_stages_history_long_size
10000
performance_schema_events_stages_history_size
10
performance_schema_events_statements_history_long_size
10000
performance_schema_events_statements_history_size
10
performance_schema_events_waits_history_long_size
10000
performance_schema_events_waits_history_size
10
performance_schema_hosts_size
100
performance_schema_max_cond_classes
80
performance_schema_max_cond_instances
8196
performance_schema_max_file_classes
50
Variable_name
Value
performance_schema_max_file_handles
32768
performance_schema_max_file_instances
39400
performance_schema_max_mutex_classes
200
performance_schema_max_mutex_instances
27144
performance_schema_max_rwlock_classes
40
performance_schema_max_rwlock_instances
14448
performance_schema_max_socket_classes
10
performance_schema_max_socket_instances
2068
performance_schema_max_stage_classes
150
performance_schema_max_statement_classes
168
performance_schema_max_table_handles
24576
performance_schema_max_table_instances
12500
performance_schema_max_thread_classes
50
performance_schema_max_thread_instances
2148
performance_schema_session_connect_attrs_size
512
performance_schema_setup_actors_size
100
performance_schema_setup_objects_size
100
performance_schema_users_size
100
pid_file
/var/lib/mysql/xxx.stratoserver.net.pid
plugin_dir
/usr/lib/mysql/plugin/
port
3306
preload_buffer_size
32768
profiling
OFF
profiling_history_size
15
protocol_version
10
query_alloc_block_size
8192
query_cache_limit
4194304
query_cache_min_res_unit
4096
query_cache_size
536870912
query_cache_type
OFF
query_cache_wlock_invalidate
OFF
query_prealloc_size
8192
range_alloc_block_size
4096
read_buffer_size
131072
read_only
OFF
read_rnd_buffer_size
262144
relay_log
relay_log_basename
relay_log_index
relay_log_info_file
relay-log.info
relay_log_info_repository
FILE
relay_log_purge
ON
relay_log_recovery
OFF
relay_log_space_limit
0
report_host
report_password
report_port
3306
report_user
rpl_stop_slave_timeout
31536000
secure_auth
ON
secure_file_priv
server_id
0
server_id_bits
32
server_uuid
f625f81f-3416-11e8-b131-02ab55a84b80
skip_external_locking
ON
skip_name_resolve
OFF
skip_networking
OFF
skip_show_database
OFF
slave_allow_batching
OFF
slave_checkpoint_group
512
slave_checkpoint_period
300
slave_compressed_protocol
OFF
slave_exec_mode
STRICT
slave_load_tmpdir
/tmp
slave_max_allowed_packet
1073741824
slave_net_timeout
3600
slave_parallel_workers
0
slave_pending_jobs_size_max
16777216
slave_rows_search_algorithms
TABLE_SCAN,INDEX_SCAN
slave_skip_errors
OFF
slave_sql_verify_checksum
ON
slave_transaction_retries
10
slave_type_conversions
slow_launch_time
2
slow_query_log
OFF
slow_query_log_file
/var/log/mysql/slow.log
socket
/var/run/mysqld/mysqld.sock
sort_buffer_size
2097152
sql_auto_is_null
OFF
sql_big_selects
ON
sql_buffer_result
OFF
sql_log_bin
ON
sql_log_off
OFF
sql_mode
NO_ENGINE_SUBSTITUTION
sql_notes
ON
sql_quote_show_create
ON
sql_safe_updates
OFF
sql_select_limit
18446744073709551615
sql_slave_skip_counter
0
sql_warnings
OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_crl
ssl_crlpath
ssl_key
storage_engine
InnoDB
stored_program_cache
256
sync_binlog
0
Variable_name
Value
sync_frm
ON
sync_master_info
10000
sync_relay_log
10000
sync_relay_log_info
10000
system_time_zone
CEST
table_definition_cache
2000
table_open_cache
12288
table_open_cache_instances
1
thread_cache_size
128
thread_concurrency
10
thread_handling
one-thread-per-connection
thread_stack
262144
time_format
%H:%i:%s
time_zone
SYSTEM
timed_mutexes
OFF
tmp_table_size
67108864
tmpdir
/tmp
transaction_alloc_block_size
8192
transaction_prealloc_size
4096
tx_isolation
REPEATABLE-READ
tx_read_only
OFF
unique_checks
ON
updatable_views_with_limit
YES
version
5.6.16-1~exp1
version_comment
(Ubuntu)
version_compile_machine
x86_64
version_compile_os
debian-linux-gnu
wait_timeout
28800
Output mysqltuner before any change:
>> MySQLTuner 1.7.12 - Major Hayden <major#mhtx.net>
>> Bug reports, feature requests, and downloads at
>> Run with '--help' for additional options and output filtering
[--] Skipped version check for MySQLTuner script
[OK] Logged in using credentials from Debian maintenance account.
[OK] Currently running supported MySQL version 5.6.16-1~exp1
[OK] Operating on 64-bit architecture
-------- Log file Recommendations ------------------------------------------------------------------
[--] Log file: /var/lib/mysql/xxx.stratoserver.net.err(0B)
[!!] Log file /var/lib/mysql/xxx.stratoserver.net.err doesn't exist
[!!] Log file /var/lib/mysql/xxx.stratoserver.net.err isn't readable.
-------- Storage Engine Statistics -----------------------------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MEMORY +MRG_MYISAM +MyISAM +PERFORMANCE_SCHEMA
[--] Data in MyISAM tables: 984.2M (Tables: 30)
[--] Data in InnoDB tables: 4.1G (Tables: 568)
[--] Data in MEMORY tables: 1.3M (Tables: 17)
[!!] Total fragmented tables: 1
-------- Analysis Performance Metrics --------------------------------------------------------------
[--] innodb_stats_on_metadata: OFF
[OK] No stat updates during querying INFORMATION_SCHEMA.
-------- Security Recommendations ------------------------------------------------------------------
[OK] There are no anonymous accounts for any database users
[OK] All database users have passwords assigned
[!!] There is no basic password file list!
-------- CVE Security Recommendations --------------------------------------------------------------
[--] Skipped due to --cvefile option undefined
-------- Performance Metrics -----------------------------------------------------------------------
[--] Up for: 10d 23h 42m 17s (581M q [612.461 qps], 1M conn, TX: 889G, RX: 249G)
[--] Reads / Writes: 93% / 7%
[--] Binary logging is disabled
[--] Physical Memory : 32.0G
[--] Max MySQL memory : 22.6G
[--] Other process memory: 33.5M
[--] Total buffers: 19.1G global + 2.8M per thread (1024 max threads)
[--] P_S Max memory usage: 754M
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 20.1G (62.80% of installed RAM)
[OK] Maximum possible memory usage: 22.6G (70.49% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory available
[OK] Slow queries: 0% (365K/581M)
[OK] Highest usage of available connections: 10% (108/1024)
[OK] Aborted connections: 0.02% (338/1784303)
[!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance
[!!] Query cache may be disabled by default due to mutex contention.
[!!] Query cache efficiency: 0.0% (0 cached / 459M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (1K temp sorts / 92M sorts)
[!!] Joins performed without indexes: 341633
[!!] Temporary tables created on disk: 47% (32M on disk / 69M total)
[OK] Thread cache hit rate: 99% (108 created / 1M connections)
[!!] Table cache hit rate: 2% (2K open / 98K opened)
[OK] Open file limit used: 0% (132/25K)
[OK] Table locks acquired immediately: 99% (1B immediate / 1B locks)
-------- Performance schema ------------------------------------------------------------------------
[--] Memory used by P_S: 754.8M
[--] Sys schema isn't installed.
-------- ThreadPool Metrics ------------------------------------------------------------------------
[--] ThreadPool stat is disabled.
-------- MyISAM Metrics ----------------------------------------------------------------------------
[!!] Key buffer used: 52.9% (284M used / 536M cache)
[OK] Key buffer size / total MyISAM indexes: 512.0M/378.4M
[OK] Read Key buffer hit rate: 100.0% (484M cached / 171K reads)
[!!] Write Key buffer hit rate: 76.0% (42M cached / 32M writes)
-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 0
[OK] InnoDB File per table is activated
[OK] InnoDB buffer pool / data size: 16.0G/4.1G
[!!] Ratio InnoDB log file size / InnoDB Buffer pool size (6.25 %): 512.0M * 2/16.0G should be equal 25%
[!!] InnoDB buffer pool instances: 8
[--] InnoDB Buffer Pool Chunk Size not used or defined in your version
[OK] InnoDB Read buffer efficiency: 100.00% (238662528177 hits/ 238662686106 total)
[!!] InnoDB Write Log efficiency: 88.34% (208711294 hits/ 236256359 total)
[OK] InnoDB log waits: 0.00% (0 waits / 27545065 writes)
-------- AriaDB Metrics ----------------------------------------------------------------------------
[--] AriaDB is disabled.
-------- TokuDB Metrics ----------------------------------------------------------------------------
[--] TokuDB is disabled.
-------- XtraDB Metrics ----------------------------------------------------------------------------
[--] XtraDB is disabled.
-------- Galera Metrics ----------------------------------------------------------------------------
[--] Galera is disabled.
-------- Replication Metrics -----------------------------------------------------------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] Binlog format: STATEMENT
[--] XA support enabled: ON
[--] Semi synchronous replication Master: Not Activated
[--] Semi synchronous replication Slave: Not Activated
[--] This is a standalone server
-------- Recommendations ---------------------------------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
OPTIMIZE TABLE `juwelierwebshop`.`cron_schedule`; -- can free 1064 MB
Total freed space after theses OPTIMIZE TABLE : 1064 Mb
Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries which have no LIMIT clause
Increase table_open_cache gradually to avoid file descriptor limits
Read this before increasing table_open_cache over 64:
This is MyISAM only table_cache scalability problem, InnoDB not affected.
See more details here:
This bug already fixed in MySQL 5.7.9 and newer MySQL versions.
Beware that open_files_limit (25610) variable
should be greater than table_open_cache (12288)
Consider installing Sys schema from
Before changing innodb_log_file_size and/or innodb_log_files_in_group read this:
Variables to adjust:
query_cache_size (=0)
query_cache_type (=0)
query_cache_limit (> 4M, or use smaller result sets)
join_buffer_size (> 128.0K, or always use indexes with JOINs)
tmp_table_size (> 64M)
max_heap_table_size (> 512M)
table_open_cache (> 12288)
innodb_log_file_size should be (=2G) if possible, so InnoDB total log files size equals to 25% of buffer pool size.
innodb_buffer_pool_instances(=16)
Do not blindly raise values in hopes they help. The following are dangerously high and are likely to lead to swapping, which is much worse than having lower settings:
key_buffer = 512M
thread_cache_size = 512
join_buffer_size = 128M
max_connections = 1024
table_open_cache = 12288
tmp_table_size = 512M
max_heap_table_size = 512M
query_cache_size = 512M
innodb_log_buffer_size = 2G
Consider moving the rest of your tables from MyISAM to InnoDB.
You seem to have a lot of poorly formulated queries and/or missing indexes. The Slowlog is configured, but turned off, so you cannot readily get further info. Turn it back on.
Are these indexed? Are they numbers or strings?
main_table.product_id
main_table.entity_id
catalog_category_entity.entity_id
sales_flat_quote_address.address_id
This is vicious to optimize; can it be rewritten some other way?..
WHERE (cat_index.visibility IN(3, 2, 4)
OR store_cat_index.visibility IN(3, 2, 4))
For example, is the "visibility" always the same in both those tables?
Can you somehow do the COUNT before JOINing? cf SELECT COUNT(DISTINCT e.entity_id) ...
Ouch! EAV made worse. customer_address_entity_varchar/_int/_text
WHERE (t_d.entity_type_id = 3)
AND (t_d.entity_id IN (260))
AND (t_d.attribute_id IN ('41'))
AND (t_d.store_id = 0)
begs for
`INDEX(entity_type_id, store_id, -- first, in either order
entity_id, attribute_id)
Fix those; run for a while; refetch VARIABLES and GLOBAL STATUS but unwrapped, then I'll look at the rest of them.
Just in general, when catalog is larger then 50k
Enable Flat catalog
Set indexer modes to manual and setup a nightly
cron for them.
Related
Table is locking on high loads
We have a problem with peak loading while wring data to database This is example of error SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction SQL: insert intoresponses(participant_id,survey_id,question_id,question_option_id) values (2204017, 188131, 5, 23) The table is quite big, 4.5 millions rows, per day at peak we write about 150-200 thosands rows to it. MySQL version is 5.6.39 Table uses InnoDb engine MySQL instance configuration at RDS (Amazon service) Instance class db.t2.xlarge vCPU 4 RAM 16 GB Table structure id int(10) unsigned Auto Increment participant_id int(10) unsigned survey_id int(10) unsigned question_id int(10) unsigned question_option_id int(10) unsigned NULL response_answer text NULL created_at timestamp NULL updated_at timestamp NULL Indexes PRIMARY id INDEX participant_id INDEX survey_id INDEX question_id INDEX question_option_id Foreign keys participant_id -> participants(id) question_id -> questions(id) question_option_id -> question_options(id) survey_id -> surveys(id) InnoDB Settings innodb_adaptive_flushing ON innodb_adaptive_flushing_lwm 10 innodb_adaptive_hash_index ON innodb_adaptive_max_sleep_delay 150000 innodb_additional_mem_pool_size 8388608 innodb_api_bk_commit_interval 5 innodb_api_disable_rowlock OFF innodb_api_enable_binlog OFF innodb_api_enable_mdl OFF innodb_api_trx_level 0 innodb_autoextend_increment 64 innodb_autoinc_lock_mode 1 innodb_buffer_pool_dump_at_shutdown OFF innodb_buffer_pool_dump_now OFF innodb_buffer_pool_filename ib_buffer_pool innodb_buffer_pool_instances 8 innodb_buffer_pool_load_abort OFF innodb_buffer_pool_load_at_startup OFF innodb_buffer_pool_load_now OFF innodb_buffer_pool_size 12465471488 innodb_change_buffer_max_size 25 innodb_change_buffering all innodb_checksum_algorithm innodb innodb_checksums ON innodb_cmp_per_index_enabled OFF innodb_commit_concurrency 0 innodb_compression_failure_threshold_pct 5 innodb_compression_level 6 innodb_compression_pad_pct_max 50 innodb_concurrency_tickets 5000 innodb_data_file_path ibdata1:12M:autoextend innodb_data_home_dir /rdsdbdata/db/innodb innodb_disable_sort_file_cache OFF innodb_doublewrite ON innodb_fast_shutdown 1 innodb_file_format Antelope innodb_file_format_check ON innodb_file_format_max Antelope innodb_file_per_table ON innodb_flush_log_at_timeout 1 innodb_flush_log_at_trx_commit 1 innodb_flush_method O_DIRECT innodb_flush_neighbors 1 innodb_flushing_avg_loops 30 innodb_force_load_corrupted OFF innodb_force_recovery 0 innodb_ft_aux_table innodb_ft_cache_size 8000000 innodb_ft_enable_diag_print OFF innodb_ft_enable_stopword ON innodb_ft_max_token_size 84 innodb_ft_min_token_size 3 innodb_ft_num_word_optimize 2000 innodb_ft_result_cache_limit 2000000000 innodb_ft_server_stopword_table innodb_ft_sort_pll_degree 2 innodb_ft_total_cache_size 640000000 innodb_ft_user_stopword_table innodb_io_capacity 200 innodb_io_capacity_max 2000 innodb_large_prefix OFF innodb_lock_wait_timeout 50 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 8388608 innodb_log_compressed_pages ON innodb_log_file_size 134217728 innodb_log_files_in_group 2 innodb_log_group_home_dir /rdsdbdata/log/innodb innodb_lru_scan_depth 1024 innodb_max_dirty_pages_pct 75 innodb_max_dirty_pages_pct_lwm 0 innodb_max_purge_lag 0 innodb_max_purge_lag_delay 0 innodb_mirrored_log_groups 1 innodb_monitor_disable innodb_monitor_enable innodb_monitor_reset innodb_monitor_reset_all innodb_numa_interleave OFF innodb_old_blocks_pct 37 innodb_old_blocks_time 1000 innodb_online_alter_log_max_size 134217728 innodb_open_files 2000 innodb_optimize_fulltext_only OFF innodb_page_size 16384 innodb_print_all_deadlocks OFF innodb_purge_batch_size 300 innodb_purge_threads 1 innodb_random_read_ahead OFF innodb_read_ahead_threshold 56 innodb_read_io_threads 4 innodb_read_only OFF innodb_replication_delay 0 innodb_rollback_on_timeout OFF innodb_rollback_segments 128 innodb_sort_buffer_size 1048576 innodb_spin_wait_delay 6 innodb_stats_auto_recalc ON innodb_stats_include_delete_marked OFF innodb_stats_method nulls_equal innodb_stats_on_metadata OFF innodb_stats_persistent ON innodb_stats_persistent_sample_pages 20 innodb_stats_sample_pages 8 innodb_stats_transient_sample_pages 8 innodb_status_output OFF innodb_status_output_locks OFF innodb_strict_mode OFF innodb_support_xa ON innodb_sync_array_size 1 innodb_sync_spin_loops 30 innodb_table_locks ON innodb_thread_concurrency 0 innodb_thread_sleep_delay 10000 innodb_tmpdir innodb_undo_directory . innodb_undo_logs 128 innodb_undo_tablespaces 0 innodb_use_native_aio ON innodb_use_sys_malloc ON innodb_version 5.6.39 innodb_write_io_threads 4
I think increasing target & max IOPS above the defaults to avoid excessive SSD wear also disable proactively flushing pages could help innodb_adaptive_flushing_lwm = 0 Innodb_flush_neighbors = off innodb_io_capacity=1000 innodb_io_capacity_max=2500 Reference: https://www.percona.com/blog/2019/12/18/give-love-to-your-ssds-reduce-innodb_io_capacity_max/
View mysql query cache contents
I have a large database application that uses mysqls query cache ability. I'd like to inspect the contents of the query cache to identify entries that should not get cached (e.g. by using SELECT SQL_NO_CACHE...) because I want to optimize my application. Is there a way to get a list of cached entries from the query cache? -- Edit: additional info as suggested by Rick --- 1) RAM size is 16GB 2) show variables; auto_increment_increment 1 auto_increment_offset 1 autocommit ON automatic_sp_privileges ON back_log 50 basedir /usr/ big_tables OFF binlog_cache_size 32768 binlog_direct_non_transactional_updates OFF binlog_format STATEMENT bulk_insert_buffer_size 4294967296 character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ collation_connection utf8_general_ci collation_database utf8_general_ci collation_server utf8_general_ci completion_type 0 concurrent_insert 1 connect_timeout 10 datadir /var/lib/mysql/ date_format %Y-%m-%d datetime_format %Y-%m-%d %H:%i:%s default_week_format 0 delay_key_write ON delayed_insert_limit 100 delayed_insert_timeout 300 delayed_queue_size 1000 div_precision_increment 4 engine_condition_pushdown ON error_count 0 event_scheduler ON expire_logs_days 0 flush OFF flush_time 0 foreign_key_checks ON ft_boolean_syntax + -><()~*:""&| ft_max_word_len 84 ft_min_word_len 4 ft_query_expansion_limit 20 ft_stopword_file (built-in) general_log OFF general_log_file /var/run/mysqld/mysqld.log group_concat_max_len 1024 have_community_features YES have_compress YES have_crypt YES have_csv YES have_dynamic_loading YES have_geometry YES have_innodb YES have_ndbcluster NO have_openssl DISABLED have_partitioning NO have_query_cache YES have_rtree_keys YES have_ssl DISABLED have_symlink YES hostname www2 identity 0 ignore_builtin_innodb ON init_connect init_file init_slave innodb_adaptive_flushing ON innodb_adaptive_hash_index ON innodb_additional_mem_pool_size 67108864 innodb_autoextend_increment 8 innodb_autoinc_lock_mode 1 innodb_buffer_pool_size 1073741824 innodb_change_buffering inserts innodb_checksums ON innodb_commit_concurrency 0 innodb_concurrency_tickets 500 innodb_data_file_path ibdata1:10M:autoextend innodb_data_home_dir innodb_doublewrite ON innodb_fast_shutdown 1 innodb_file_format Antelope innodb_file_format_check Barracuda innodb_file_per_table ON innodb_flush_log_at_trx_commit 1 innodb_flush_method innodb_force_recovery 0 innodb_io_capacity 200 innodb_lock_wait_timeout 50 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 67108864 innodb_log_file_size 268435456 innodb_log_files_in_group 2 innodb_log_group_home_dir ./ innodb_max_dirty_pages_pct 75 innodb_max_purge_lag 0 innodb_mirrored_log_groups 1 innodb_old_blocks_pct 37 innodb_old_blocks_time 0 innodb_open_files 300 innodb_read_ahead_threshold 56 innodb_read_io_threads 4 innodb_replication_delay 0 innodb_rollback_on_timeout OFF innodb_spin_wait_delay 6 innodb_stats_method nulls_equal innodb_stats_on_metadata ON innodb_stats_sample_pages 8 innodb_strict_mode OFF innodb_support_xa ON innodb_sync_spin_loops 30 innodb_table_locks ON innodb_thread_concurrency 0 innodb_thread_sleep_delay 10000 innodb_use_sys_malloc ON innodb_version 1.0.15 innodb_write_io_threads 4 insert_id 0 interactive_timeout 30 join_buffer_size 2147483648 keep_files_on_create OFF key_buffer_size 4294967296 key_cache_age_threshold 300 key_cache_block_size 1024 key_cache_division_limit 100 language /usr/share/mysql/english/ large_files_support ON large_page_size 0 large_pages OFF last_insert_id 0 lc_time_names en_US license GPL local_infile OFF locked_in_memory OFF log OFF log_bin OFF log_bin_trust_function_creators OFF log_bin_trust_routine_creators OFF log_error /var/log/mysql/mysqld.err log_output FILE log_queries_not_using_indexes OFF log_slave_updates OFF log_slow_queries ON log_warnings 2 long_query_time 2.000000 low_priority_updates OFF lower_case_file_system OFF lower_case_table_names 0 max_allowed_packet 268435456 max_binlog_cache_size 18446744073709547520 max_binlog_size 1073741824 max_connect_errors 100000 max_connections 120 max_delayed_threads 20 max_error_count 64 max_heap_table_size 268435456 max_insert_delayed_threads 20 max_join_size 18446744073709551615 max_length_for_sort_data 1024 max_prepared_stmt_count 16382 max_relay_log_size 0 max_seeks_for_key 18446744073709551615 max_sort_length 1024 max_sp_recursion_depth 0 max_tmp_tables 32 max_user_connections 0 max_write_lock_count 18446744073709551615 min_examined_row_limit 0 multi_range_count 256 myisam_data_pointer_size 6 myisam_max_sort_file_size 9223372036853727232 myisam_mmap_size 18446744073709551615 myisam_recover_options OFF myisam_repair_threads 1 myisam_sort_buffer_size 4294967296 myisam_stats_method nulls_unequal myisam_use_mmap OFF net_buffer_length 1048576 net_read_timeout 30 net_retry_count 10 net_write_timeout 60 new OFF old OFF old_alter_table OFF old_passwords OFF open_files_limit 8322 optimizer_prune_level 1 optimizer_search_depth 62 optimizer_switch index_merge=on,index_merge_union=on,index_merge_so... pid_file /var/run/mysqld/mysqld.pid plugin_dir /usr/lib64/mysql/plugin port 3306 preload_buffer_size 32768 protocol_version 10 pseudo_thread_id 3468076 query_alloc_block_size 8192 query_cache_limit 4294967296 query_cache_min_res_unit 4096 query_cache_size 1073741824 query_cache_type ON query_cache_wlock_invalidate OFF query_prealloc_size 8192 rand_seed1 rand_seed2 range_alloc_block_size 4096 read_buffer_size 131072 read_only OFF read_rnd_buffer_size 8388608 relay_log relay_log_index relay_log_info_file relay-log.info relay_log_purge ON relay_log_space_limit 0 report_host report_password report_port 3306 report_user rpl_recovery_rank 0 secure_auth OFF secure_file_priv server_id 0 skip_external_locking ON skip_name_resolve OFF skip_networking OFF skip_show_database OFF slave_compressed_protocol OFF slave_exec_mode STRICT slave_load_tmpdir /var/tmp/ slave_net_timeout 3600 slave_skip_errors OFF slave_transaction_retries 10 slow_launch_time 2 slow_query_log ON slow_query_log_file /var/log/mysql/slowqueries.log socket /var/run/mysqld/mysqld.sock sort_buffer_size 262144 sql_auto_is_null ON sql_big_selects ON sql_big_tables OFF sql_buffer_result OFF sql_log_bin ON sql_log_off OFF sql_log_update ON sql_low_priority_updates OFF sql_max_join_size 18446744073709551615 sql_mode sql_notes ON sql_quote_show_create ON sql_safe_updates OFF sql_select_limit 18446744073709551615 sql_slave_skip_counter sql_warnings OFF ssl_ca ssl_capath ssl_cert ssl_cipher ssl_key storage_engine MyISAM sync_binlog 0 sync_frm ON system_time_zone CEST table_definition_cache 256 table_lock_wait_timeout 50 table_open_cache 4096 table_type MyISAM thread_cache_size 16 thread_handling one-thread-per-connection thread_stack 262144 time_format %H:%i:%s time_zone SYSTEM timed_mutexes OFF timestamp 1449649902 tmp_table_size 2147483648 tmpdir /var/tmp/ transaction_alloc_block_size 8192 transaction_prealloc_size 4096 tx_isolation READ-COMMITTED unique_checks ON updatable_views_with_limit YES version 5.1.56-log version_comment Gentoo Linux mysql-5.1.56 version_compile_machine x86_64 version_compile_os pc-linux-gnu wait_timeout 30 warning_count 0 3) show global status; Aborted_clients 2094 Aborted_connects 4 Binlog_cache_disk_use 0 Binlog_cache_use 0 Bytes_received 171903979482 Bytes_sent 2515206884666 Com_admin_commands 339464 Com_assign_to_keycache 0 Com_alter_db 0 Com_alter_db_upgrade 0 Com_alter_event 0 Com_alter_function 0 Com_alter_procedure 0 Com_alter_server 0 Com_alter_table 340 Com_alter_tablespace 0 Com_analyze 0 Com_backup_table 0 Com_begin 5508 Com_binlog 0 Com_call_procedure 0 Com_change_db 3205067 Com_change_master 0 Com_check 2735 Com_checksum 0 Com_commit 5508 Com_create_db 1 Com_create_event 0 Com_create_function 0 Com_create_index 0 Com_create_procedure 0 Com_create_server 0 Com_create_table 148 Com_create_trigger 0 Com_create_udf 0 Com_create_user 0 Com_create_view 0 Com_dealloc_sql 2 Com_delete 10465739 Com_delete_multi 15995 Com_do 0 Com_drop_db 0 Com_drop_event 0 Com_drop_function 0 Com_drop_index 0 Com_drop_procedure 0 Com_drop_server 0 Com_drop_table 121 Com_drop_trigger 0 Com_drop_user 0 Com_drop_view 0 Com_empty_query 0 Com_execute_sql 2 Com_flush 342 Com_grant 2 Com_ha_close 0 Com_ha_open 0 Com_ha_read 0 Com_help 0 Com_insert 13583029 Com_insert_select 409 Com_install_plugin 0 Com_kill 0 Com_load 112042 Com_load_master_data 0 Com_load_master_table 0 Com_lock_tables 2068 Com_optimize 44 Com_preload_keys 0 Com_prepare_sql 2 Com_purge 0 Com_purge_before_date 0 Com_release_savepoint 0 Com_rename_table 0 Com_rename_user 0 Com_repair 2 Com_replace 489 Com_replace_select 0 Com_reset 0 Com_restore_table 0 Com_revoke 0 Com_revoke_all 0 Com_rollback 0 Com_rollback_to_savepoint 0 Com_savepoint 0 Com_select 115580660 Com_set_option 6028458 Com_show_authors 0 Com_show_binlog_events 0 Com_show_binlogs 11 Com_show_charsets 128 Com_show_collations 105 Com_show_column_types 0 Com_show_contributors 0 Com_show_create_db 10 Com_show_create_event 0 Com_show_create_func 0 Com_show_create_proc 0 Com_show_create_table 172358 Com_show_create_trigger 0 Com_show_databases 3956 Com_show_engine_logs 0 Com_show_engine_mutex 0 Com_show_engine_status 0 Com_show_events 0 Com_show_errors 0 Com_show_fields 839418 Com_show_function_status 0 Com_show_grants 11 Com_show_keys 3212 Com_show_master_status 0 Com_show_new_master 0 Com_show_open_tables 0 Com_show_plugins 0 Com_show_privileges 0 Com_show_procedure_status 0 Com_show_processlist 2 Com_show_profile 0 Com_show_profiles 0 Com_show_slave_hosts 0 Com_show_slave_status 0 Com_show_status 31038 Com_show_storage_engines 0 Com_show_table_status 207707 Com_show_tables 55951 Com_show_triggers 172340 Com_show_variables 803242 Com_show_warnings 0 Com_slave_start 0 Com_slave_stop 0 Com_stmt_close 627128 Com_stmt_execute 627128 Com_stmt_fetch 0 Com_stmt_prepare 627128 Com_stmt_reprepare 0 Com_stmt_reset 0 Com_stmt_send_long_data 0 Com_truncate 4722 Com_uninstall_plugin 0 Com_unlock_tables 2068 Com_update 1754805 Com_update_multi 1 Com_xa_commit 0 Com_xa_end 0 Com_xa_prepare 0 Com_xa_recover 0 Com_xa_rollback 0 Com_xa_start 0 Compression OFF Connections 3467815 Created_tmp_disk_tables 2151917 Created_tmp_files 16517 Created_tmp_tables 3928177 Delayed_errors 0 Delayed_insert_threads 0 Delayed_writes 0 Flush_commands 1 Handler_commit 90276170 Handler_delete 9422032 Handler_discover 0 Handler_prepare 0 Handler_read_first 16985165 Handler_read_key 727922287 Handler_read_next 1575370461 Handler_read_prev 1178376 Handler_read_rnd 114364819 Handler_read_rnd_next 40377965120 Handler_rollback 326 Handler_savepoint 0 Handler_savepoint_rollback 0 Handler_update 33675553 Handler_write 137057026 Innodb_buffer_pool_pages_data 65003 Innodb_buffer_pool_pages_dirty 44 Innodb_buffer_pool_pages_flushed 29673396 Innodb_buffer_pool_pages_free 1 Innodb_buffer_pool_pages_misc 531 Innodb_buffer_pool_pages_total 65535 Innodb_buffer_pool_read_ahead 30144135 Innodb_buffer_pool_read_ahead_evicted 4691916 Innodb_buffer_pool_read_requests 5269018735 Innodb_buffer_pool_reads 15291059 Innodb_buffer_pool_wait_free 0 Innodb_buffer_pool_write_requests 196667000 Innodb_data_fsyncs 23264996 Innodb_data_pending_fsyncs 1 Innodb_data_pending_reads 0 Innodb_data_pending_writes 0 Innodb_data_read 745229520896 Innodb_data_reads 15847178 Innodb_data_writes 40737707 Innodb_data_written 1007283227136 Innodb_dblwr_pages_written 29673396 Innodb_dblwr_writes 727171 Innodb_have_atomic_builtins ON Innodb_log_waits 0 Innodb_log_write_requests 61077243 Innodb_log_writes 17124326 Innodb_os_log_fsyncs 17565254 Innodb_os_log_pending_fsyncs 1 Innodb_os_log_pending_writes 0 Innodb_os_log_written 34746359296 Innodb_page_size 16384 Innodb_pages_created 893340 Innodb_pages_read 45485066 Innodb_pages_written 29673396 Innodb_row_lock_current_waits 0 Innodb_row_lock_time 75432 Innodb_row_lock_time_avg 23 Innodb_row_lock_time_max 10927 Innodb_row_lock_waits 3264 Innodb_rows_deleted 8649356 Innodb_rows_inserted 12313551 Innodb_rows_read 3890223870 Innodb_rows_updated 1493452 Key_blocks_not_flushed 0 Key_blocks_unused 3089739 Key_blocks_used 864035 Key_read_requests 1336336475 Key_reads 2772018 Key_write_requests 105012022 Key_writes 7764232 Last_query_cost 0.000000 Max_used_connections 69 Not_flushed_delayed_rows 0 Open_files 3006 Open_streams 0 Open_table_definitions 2265 Open_tables 3982 Opened_files 16841374 Opened_table_definitions 140845 Opened_tables 327918 Prepared_stmt_count 0 Qcache_free_blocks 56315 Qcache_free_memory 164432360 Qcache_hits 539352560 Qcache_inserts 111849501 Qcache_lowmem_prunes 54731591 Qcache_not_cached 3376334 Qcache_queries_in_cache 182383 Qcache_total_blocks 472186 Queries 697132110 Questions 695877858 Rpl_status NULL Select_full_join 30156 Select_full_range_join 4732 Select_range 36065208 Select_range_check 76799 Select_scan 4058097 Slave_open_temp_tables 0 Slave_retried_transactions 0 Slave_running OFF Slow_launch_threads 0 Slow_queries 13817 Sort_merge_passes 24563 Sort_range 2573998 Sort_rows 93946492 Sort_scan 1603263 Ssl_accept_renegotiates 0 Ssl_accepts 0 Ssl_callback_cache_hits 0 Ssl_cipher Ssl_cipher_list Ssl_client_connects 0 Ssl_connect_renegotiates 0 Ssl_ctx_verify_depth 0 Ssl_ctx_verify_mode 0 Ssl_default_timeout 0 Ssl_finished_accepts 0 Ssl_finished_connects 0 Ssl_session_cache_hits 0 Ssl_session_cache_misses 0 Ssl_session_cache_mode NONE Ssl_session_cache_overflows 0 Ssl_session_cache_size 0 Ssl_session_cache_timeouts 0 Ssl_sessions_reused 0 Ssl_used_session_cache_entries 0 Ssl_verify_depth 0 Ssl_verify_mode 0 Ssl_version Table_locks_immediate 157822475 Table_locks_waited 3513 Tc_log_max_pages_used 0 Tc_log_page_size 0 Tc_log_page_waits 0 Threads_cached 14 Threads_connected 3 Threads_created 2076 Threads_running 3 Uptime 4656056 Uptime_since_flush_status 4656056
You can know the amount of queries cached with Show status like 'Qcache_queries_in_cache' It will give you the amount of cached query in value column. Only the hash of queries are stored in Qcache. It is not possible to find which queries are actually cached. One possible way to know it is to execute one of your query and to check changes of value column.
Observations: Version: 5.1.56-log 16 GB of RAM Uptime = 53d 21:20:56 You are not running on Windows. Running 64-bit version It appears that you are running both MyISAM and InnoDB. The More Important Issues key_buffer_size = 1500M innodb_buffer_pool_size = 2000M join_buffer_size = 1M -- This may be the most important tmp_table_size = 256M -- Also important query_cache_size = 50M -- as already mentioned Use slowlog to find tmp tables spilling to disk Three settings were especially high and could lead to paging/swapping. MySQL performance suffers terribly when paged/swapped. It is better to lower settings than to have that happen. Details and Minor Issues ( innodb_buffer_pool_size / _ram ) = 1024M / 16384M = 6.2% -- % of RAM used for InnoDB buffer_pool ( Innodb_pages_written / Innodb_buffer_pool_write_requests ) = 29,673,396 / 196667000 = 15.1% -- Write requests that had to hit disk -- Check innodb_buffer_pool_size ( Innodb_buffer_pool_read_ahead_evicted / Innodb_buffer_pool_read_ahead ) = 4,691,916 / 30144135 = 15.6% -- Utility of read_ahead. -- Turn off read-ahead ( Innodb_os_log_written / (Uptime / 3600) / innodb_log_files_in_group / innodb_log_file_size ) = 34,746,359,296 / (4656056 / 3600) / 2 / 256M = 0.05 -- Ratio ( Uptime / 60 * innodb_log_file_size / Innodb_os_log_written ) = 4,656,056 / 60 * 256M / 34746359296 = 599 -- Minutes between InnoDB log rotations Beginning with 5.6.8, this can be changed dynamically; be sure to also change my.cnf. -- (The recommendation of 60 minutes between rotations is somewhat arbitrary.) ( table_open_cache ) = 4,096 -- Number of table descriptors to cache -- Several hundred is usually good. ( innodb_stats_on_metadata ) = ON -- Re-analyze table when touching stats. -- ON is likely to slow down certain SHOWs and information_schema accesses. ( join_buffer_size ) = 2,147,483,648 = 2048MB -- 0-N per thread. May speed up JOINs (better to fix queries/indexes) (all engines) Used for index scan, range index scan, full table scan, each full JOIN, etc. -- Use the default. ( join_buffer_size / _ram ) = 2,147,483,648 / 16384M = 12.5% -- 0-N per thread. May speed up JOINs (better to fix queries/indexes) (all engines) Used for index scan, range index scan, full table scan, each full JOIN, etc. -- Decrease join_buffer_size to avoid memory pressure. Suggest less than 1% of RAM. ( min( tmp_table_size, max_heap_table_size ) / _ram ) = min( 2147483648, 256M ) / 16384M = 1.6% -- Percent of RAM to allocate when needing MEMORY table (per table), or temp table inside a SELECT (per temp table per some SELECTs). Too high may lead to swapping. -- Decrease tmp_table_size and max_heap_table_size to, say, 1% of ram. ( (key_buffer_size - 1.2 * Key_blocks_used * 1024) / _ram ) = (4294967296 - 1.2 * 864035 * 1024) / 16384M = 18.8% -- Percent of RAM wasted in key_buffer. -- Decrease key_buffer_size ( Key_blocks_used * 1024 / key_buffer_size ) = 864,035 * 1024 / 4294967296 = 20.6% -- Percent of key_buffer used . High-water-mark. -- Lower key_buffer_size to avoid unnecessary memory usage. ( Key_writes / Key_write_requests ) = 7,764,232 / 105012022 = 7.4% -- key_buffer effectiveness for writes ( query_cache_size ) = 1024M -- Size of QC -- Too small = not of much use. Too large = too much overhead. Recommend either 0 or no more than 50M. ( Created_tmp_disk_tables / (Created_tmp_disk_tables + Created_tmp_tables) ) = 2,151,917 / (2151917 + 3928177) = 35.4% -- Percent of temp tables that spilled to disk ( tmp_table_size ) = 2,147,483,648 = 2048MB -- Limit on size of MEMORY temp tables used to support a SELECT -- Decrease tmp_table_size to avoid running out of RAM. Perhaps no more than 64M. ( back_log / max_connections ) = 50 / 120 = 41.7% ( max_connect_errors ) = 100,000 -- A small protection against hackers. -- Perhaps no more than 200.
If you have a "large" db app, this implies that there are a lot of writes? Keep in mind that all QC entries for a table are purged when any write to that table occurs. That implies that you may not benefit from the QC. Furthermore, that purging takes effort, thereby slowing down the system. For query_cache_size under, say, 50M, the cost is not big. But if you have a 1G QC, you will spend more time purging the QC than using it! The actual queries in the QC cannot be discovered. Here is what might help: Put SQL_NO_CACHE on any queries involving table(s) that change frequently. Put SQL_CACHE on the rest. Then use DEMAND. Monitor STATUS LIKE Qc%. If you would like an analysis of your system (QC and otherwise), provide (1) RAM size, (2) SHOW VARIABLES, (3) SHOW GLOBAL STATUS after the server has been up for at least a day.
slow inserts mysql
I have very slow insert to my InnoDb table (2 500 000 notes). But why? Here is debug information: Server: Intel® Core™ i7-920 24 GB DDR3 RAMFestplatten2 x 750 GB SATA 3 Gb/s HDD 168.02 query/sec CREATE TABLE IF NOT EXISTS `bysr_customers` ( `customerID` int(11) NOT NULL AUTO_INCREMENT, `OdnoklasID` varchar(255) NOT NULL, `Login` varchar(32) DEFAULT NULL, `cust_password` varchar(255) NOT NULL, `Email` varchar(255) DEFAULT NULL, `first_name` varchar(255) DEFAULT NULL, `last_name` varchar(255) DEFAULT NULL, `kopilka` int(110) NOT NULL DEFAULT '0', `subscribed4news` int(11) DEFAULT NULL, `custgroupID` int(11) DEFAULT NULL, `addressID` int(11) DEFAULT NULL, `reg_datetime` datetime DEFAULT NULL, `ActivationCode` varchar(16) NOT NULL DEFAULT '', `CID` int(11) DEFAULT NULL, `affiliateID` int(11) NOT NULL, `affiliateEmailOrders` int(11) NOT NULL DEFAULT '1', `affiliateEmailPayments` int(11) NOT NULL DEFAULT '1', `actions` text NOT NULL, `area` text NOT NULL, `city` text NOT NULL, `street` text NOT NULL, `house` text NOT NULL, `build` text NOT NULL, `room` text NOT NULL, `phone` text NOT NULL, `fake` int(10) NOT NULL, PRIMARY KEY (`customerID`), UNIQUE KEY `ok_index` (`OdnoklasID`), KEY `AFFILIATEID` (`affiliateID`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3504023 ; INSERT INTO bysr_customers (OdnoklasID, first_name, last_name, custgroupID, reg_datetime, CID, affiliateEmailOrders, affiliateEmailPayments, fake) VALUES ('fake_4', '2', '3', '1', '2012-02-22 16:42:54', '1', '1', '1', '0'); mysql> SHOW profile FOR QUERY 7; +----------------------+----------+ | Status | Duration | +----------------------+----------+ | starting | 0.000043 | | checking permissions | 0.000007 | | Opening tables | 0.000044 | | System lock | 0.000004 | | Table lock | 0.000004 | | init | 0.000018 | | update | 7.521551 | | end | 0.000011 | | query end | 0.000006 | | freeing items | 2.573892 | | logging slow query | 0.000013 | | logging slow query | 0.000035 | | cleaning up | 0.000006 | +----------------------+----------+ 13 rows in set (0.00 sec) auto_increment_increment 1 auto_increment_offset 1 autocommit ON automatic_sp_privileges ON back_log 50 basedir /usr/ big_tables OFF binlog_cache_size 32768 binlog_direct_non_transactional_updates OFF binlog_format STATEMENT bulk_insert_buffer_size 8388608 character_set_client utf8 character_set_connection utf8 character_set_database cp1251 character_set_filesystem binary character_set_results utf8 character_set_server cp1251 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ collation_connection utf8_general_ci collation_database cp1251_general_ci collation_server cp1251_general_ci completion_type 0 concurrent_insert 1 connect_timeout 10 datadir /var/lib/mysql/ date_format %Y-%m-%d datetime_format %Y-%m-%d %H:%i:%s default_week_format 0 delay_key_write ON delayed_insert_limit 100 delayed_insert_timeout 300 delayed_queue_size 1000 div_precision_increment 4 engine_condition_pushdown ON error_count 0 event_scheduler OFF expire_logs_days 10 flush OFF flush_time 0 foreign_key_checks ON ft_boolean_syntax + -><()~*:""&| ft_max_word_len 84 ft_min_word_len 4 ft_query_expansion_limit 20 ft_stopword_file (built-in) general_log OFF general_log_file /var/lib/mysql/Ubuntu-1104-natty-64-minimal.log group_concat_max_len 1024 have_community_features YES have_compress YES have_crypt YES have_csv YES have_dynamic_loading YES have_geometry YES have_innodb YES have_ndbcluster NO have_openssl DISABLED have_partitioning YES have_query_cache YES have_rtree_keys YES have_ssl DISABLED have_symlink YES hostname Ubuntu-1104-natty-64-minimal identity 0 ignore_builtin_innodb OFF init_connect init_file init_slave innodb_adaptive_hash_index ON innodb_additional_mem_pool_size 1048576 innodb_autoextend_increment 8 innodb_autoinc_lock_mode 1 innodb_buffer_pool_size 10737418240 innodb_checksums ON innodb_commit_concurrency 0 innodb_concurrency_tickets 500 innodb_data_file_path ibdata1:10M:autoextend innodb_data_home_dir innodb_doublewrite ON innodb_fast_shutdown 1 innodb_file_io_threads 4 innodb_file_per_table OFF innodb_flush_log_at_trx_commit 1 innodb_flush_method innodb_force_recovery 0 innodb_lock_wait_timeout 50 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 1048576 innodb_log_file_size 5242880 innodb_log_files_in_group 2 innodb_log_group_home_dir ./ innodb_max_dirty_pages_pct 90 innodb_max_purge_lag 0 innodb_mirrored_log_groups 1 innodb_open_files 300 innodb_rollback_on_timeout OFF innodb_stats_on_metadata ON innodb_support_xa ON innodb_sync_spin_loops 20 Variable_name Value innodb_table_locks ON innodb_thread_concurrency 8 innodb_thread_sleep_delay 10000 innodb_use_legacy_cardinality_algorithm ON insert_id 0 interactive_timeout 28800 join_buffer_size 131072 keep_files_on_create OFF key_buffer_size 2147483648 key_cache_age_threshold 300 key_cache_block_size 1024 key_cache_division_limit 100 language /usr/share/mysql/english/ large_files_support ON large_page_size 0 large_pages OFF last_insert_id 0 lc_time_names en_US license GPL local_infile ON locked_in_memory OFF log OFF log_bin OFF log_bin_trust_function_creators OFF log_bin_trust_routine_creators OFF log_error /var/log/mysql/error.log log_output FILE log_queries_not_using_indexes OFF log_slave_updates OFF log_slow_queries ON log_warnings 1 long_query_time 2.000000 low_priority_updates OFF lower_case_file_system OFF lower_case_table_names 0 max_allowed_packet 16777216 max_binlog_cache_size 18446744073709547520 max_binlog_size 104857600 max_connect_errors 10 max_connections 151 max_delayed_threads 20 max_error_count 64 max_heap_table_size 1073741824 max_insert_delayed_threads 20 max_join_size 18446744073709551615 max_length_for_sort_data 1024 max_prepared_stmt_count 16382 max_relay_log_size 0 max_seeks_for_key 18446744073709551615 max_sort_length 1024 max_sp_recursion_depth 0 max_tmp_tables 32 max_user_connections 0 max_write_lock_count 18446744073709551615 min_examined_row_limit 0 multi_range_count 256 myisam_data_pointer_size 6 myisam_max_sort_file_size 9223372036853727232 myisam_mmap_size 18446744073709551615 myisam_recover_options BACKUP myisam_repair_threads 1 myisam_sort_buffer_size 8388608 myisam_stats_method nulls_unequal myisam_use_mmap OFF net_buffer_length 16384 net_read_timeout 30 net_retry_count 10 net_write_timeout 60 new OFF old OFF old_alter_table OFF old_passwords OFF open_files_limit 1024 optimizer_prune_level 1 optimizer_search_depth 62 optimizer_switch index_merge=on,index_merge_union=on,index_merge_so... pid_file /var/lib/mysql/Ubuntu-1104-natty-64-minimal.pid plugin_dir /usr/lib/mysql/plugin port 3306 preload_buffer_size 32768 profiling ON profiling_history_size 15 protocol_version 10 pseudo_thread_id 79658 query_alloc_block_size 8192 query_cache_limit 10485760 query_cache_min_res_unit 4096 query_cache_size 314572800 query_cache_type ON query_cache_wlock_invalidate OFF query_prealloc_size 8192 rand_seed1 rand_seed2 range_alloc_block_size 4096 read_buffer_size 131072 read_only OFF read_rnd_buffer_size 262144 relay_log relay_log_index relay_log_info_file relay-log.info Variable_name Value relay_log_purge ON relay_log_space_limit 0 report_host report_password report_port 3306 report_user rpl_recovery_rank 0 secure_auth OFF secure_file_priv server_id 0 skip_external_locking ON skip_name_resolve OFF skip_networking OFF skip_show_database OFF slave_compressed_protocol OFF slave_exec_mode STRICT slave_load_tmpdir /tmp slave_net_timeout 3600 slave_skip_errors OFF slave_transaction_retries 10 slow_launch_time 2 slow_query_log ON slow_query_log_file /var/log/mysql/mysql-slow.log socket /var/run/mysqld/mysqld.sock sort_buffer_size 268435456 sql_auto_is_null ON sql_big_selects ON sql_big_tables OFF sql_buffer_result OFF sql_log_bin ON sql_log_off OFF sql_log_update ON sql_low_priority_updates OFF sql_max_join_size 18446744073709551615 sql_mode sql_notes ON sql_quote_show_create ON sql_safe_updates OFF sql_select_limit 18446744073709551615 sql_slave_skip_counter sql_warnings OFF ssl_ca ssl_capath ssl_cert ssl_cipher ssl_key storage_engine MyISAM sync_binlog 0 sync_frm ON system_time_zone MSK table_definition_cache 256 table_lock_wait_timeout 50 table_open_cache 64 table_type MyISAM thread_cache_size 8 thread_handling one-thread-per-connection thread_stack 196608 time_format %H:%i:%s time_zone SYSTEM timed_mutexes OFF timestamp 1329916096 tmp_table_size 1073741824 tmpdir /tmp transaction_alloc_block_size 8192 transaction_prealloc_size 4096 tx_isolation REPEATABLE-READ unique_checks ON updatable_views_with_limit YES version 5.1.54-1ubuntu4-log version_comment (Ubuntu) version_compile_machine x86_64 version_compile_os debian-linux-gnu wait_timeout 28800 warning_count 0
If this just started happening, I would guess IO contention (disk or memory). Check your system. If it occurs intermittently, but often, I would suspect the large unique index on the VARCHAR(255) OdnoklasID column. Try temporarily removing the index to see if inserts improve, then see if you can improve (shorten) or do without the index. If you are doing multiple inserts, combine them into one statement because the indexes are updated after each statement. Your VARCHAR(255) field, with 4 bytes for the Integer primary key added, is 259 bytes per index entry. MySQL InnoDB page size for indexes is 16KB, so you'll get at most 63 index entries per page, which will often cause page splits on insertion.
I'd suggest removing the UNIQUE KEY constraint and see how it runs.
| update | 7.521551 do you have triggers on this table that may cause more DML actions? or maybe too many indexes need to be maintained after the insert which is causing the slowness
This is needed? kopilka int(110) not is better to use varchar(110)
InnoDB is a pretty good engine. However, it highly relies on being 'tuned'. One thing is that if your inserts are not in the order of increasing primary keys, innoDB can take a bit longer than MyISAM. This can easily be overcome by setting a higher innodb_buffer_pool_size. My suggestion is to set it at 60-70% of your total RAM. I am running 4 such servers in production now, inserting about 3.5 million rows a minute. They already have close to 3 Terabytes. InnoDB it had to be , because of the highly concurrent inserts. There are further ways to speed up inserts. And I've benchmarked some.
MySQL performance & variables tweaking
I have a problem with a MySql server causing it to freeze all the time. In phpMyAdmin when this happens I can see in "Show Processlist" are lots of processes for User "unauthenticated user" with Command "connect" and State "reading from net". The database is using InnoDB but I also use one table running MyISAM to be able to perform full text search. The server has about 4GB memory, less than 500MB in use. I have been using the slow Query Log from MySql to find the queries not using indexes. I also think I need to do some changes / tweaking on the server variables. I really could use some help here and therefore I'm posting both SHOW GLOBAL STATUS and SHOW GLOBAL VARIABLES here and maybe you can give me some ideas how I should set the variables? Current SHOW GLOBAL STATUS: Variable_name Value Aborted_clients 730 Aborted_connects 35 Binlog_cache_disk_use 0 Binlog_cache_use 0 Binlog_stmt_cache_disk_use 0 Binlog_stmt_cache_use 0 Bytes_received 31558148370 Bytes_sent 556410688609 Com_admin_commands 4565 Com_assign_to_keycache 0 Com_alter_db 0 Com_alter_db_upgrade 0 Com_alter_event 0 Com_alter_function 0 Com_alter_procedure 0 Com_alter_server 0 Com_alter_table 3 Com_alter_tablespace 0 Com_analyze 0 Com_begin 168 Com_binlog 0 Com_call_procedure 0 Com_change_db 26791502 Com_change_master 0 Com_check 0 Com_checksum 0 Com_commit 0 Com_create_db 0 Com_create_event 0 Com_create_function 0 Com_create_index 0 Com_create_procedure 0 Com_create_server 0 Com_create_table 0 Com_create_trigger 0 Com_create_udf 0 Com_create_user 0 Com_create_view 0 Com_dealloc_sql 0 Com_delete 584152 Com_delete_multi 0 Com_do 0 Com_drop_db 0 Com_drop_event 0 Com_drop_function 0 Com_drop_index 0 Com_drop_procedure 0 Com_drop_server 0 Com_drop_table 0 Com_drop_trigger 0 Com_drop_user 0 Com_drop_view 0 Com_empty_query 0 Com_execute_sql 0 Com_flush 0 Com_grant 0 Com_ha_close 0 Com_ha_open 0 Com_ha_read 0 Com_help 0 Com_insert 5871056 Com_insert_select 2833 Com_install_plugin 0 Com_kill 160 Com_load 0 Com_lock_tables 0 Com_optimize 0 Com_preload_keys 0 Com_prepare_sql 0 Com_purge 0 Com_purge_before_date 0 Com_release_savepoint 0 Com_rename_table 0 Com_rename_user 0 Com_repair 0 Com_replace 0 Com_replace_select 0 Com_reset 0 Com_resignal 0 Com_revoke 0 Com_revoke_all 0 Com_rollback 0 Com_rollback_to_savepoint 0 Com_savepoint 0 Com_select 21739455 Com_set_option 53600251 Com_signal 0 Com_show_authors 0 Com_show_binlog_events 0 Com_show_binlogs 217 Com_show_charsets 3 Com_show_collations 26786645 Com_show_contributors 0 Com_show_create_db 0 Com_show_create_event 0 Com_show_create_func 0 Com_show_create_proc 0 Com_show_create_table 6412 Com_show_create_trigger 84 Com_show_databases 213 Variable_name Value Com_show_engine_logs 0 Com_show_engine_mutex 0 Com_show_engine_status 0 Com_show_events 0 Com_show_errors 0 Com_show_fields 4389 Com_show_function_status 14 Com_show_grants 2 Com_show_keys 25 Com_show_master_status 5 Com_show_open_tables 0 Com_show_plugins 560 Com_show_privileges 0 Com_show_procedure_status 14 Com_show_processlist 189 Com_show_profile 0 Com_show_profiles 0 Com_show_relaylog_events 0 Com_show_slave_hosts 0 Com_show_slave_status 5 Com_show_status 156 Com_show_storage_engines 16 Com_show_table_status 4154 Com_show_tables 280 Com_show_triggers 4144 Com_show_variables 26786703 Com_show_warnings 2363 Com_slave_start 0 Com_slave_stop 0 Com_stmt_close 0 Com_stmt_execute 0 Com_stmt_fetch 0 Com_stmt_prepare 0 Com_stmt_reprepare 0 Com_stmt_reset 0 Com_stmt_send_long_data 0 Com_truncate 0 Com_uninstall_plugin 0 Com_unlock_tables 168 Com_update 2572452 Com_update_multi 35171 Com_xa_commit 0 Com_xa_end 0 Com_xa_prepare 0 Com_xa_recover 0 Com_xa_rollback 0 Com_xa_start 0 Compression OFF Connections 26787752 Created_tmp_disk_tables 119645 Created_tmp_files 7069 Created_tmp_tables 58427880 Delayed_errors 0 Delayed_insert_threads 0 Delayed_writes 0 Flush_commands 1 Handler_commit 30698922 Handler_delete 177424 Handler_discover 0 Handler_prepare 0 Handler_read_first 1239039 Handler_read_key 2226723080 Handler_read_last 9200 Handler_read_next 4186985860 Handler_read_prev 6811735740 Handler_read_rnd 8942473 Handler_read_rnd_next 16431972655 Handler_rollback 495 Handler_savepoint 0 Handler_savepoint_rollback 0 Handler_update 9720709 Handler_write 15014651212 Innodb_buffer_pool_pages_data 8173 Innodb_buffer_pool_pages_dirty 138 Innodb_buffer_pool_pages_flushed 34780758 Innodb_buffer_pool_pages_free 0 Innodb_buffer_pool_pages_misc 18 Innodb_buffer_pool_pages_total 8191 Innodb_buffer_pool_read_ahead_rnd 0 Innodb_buffer_pool_read_ahead 26163447 Innodb_buffer_pool_read_ahead_evicted 669245354 Innodb_buffer_pool_read_requests 19793139859 Innodb_buffer_pool_reads 1156881183 Innodb_buffer_pool_wait_free 0 Innodb_buffer_pool_write_requests 81288931 Innodb_data_fsyncs 8482576 Innodb_data_pending_fsyncs 0 Innodb_data_pending_reads 0 Innodb_data_pending_writes 0 Innodb_data_read 19409628139520 Innodb_data_reads 1184668281 Innodb_data_writes 25747879 Innodb_data_written 576917547008 Innodb_dblwr_pages_written 17390379 Innodb_dblwr_writes 255445 Innodb_have_atomic_builtins ON Innodb_log_waits 0 Innodb_log_write_requests 6930648 Innodb_log_writes 7850155 Innodb_os_log_fsyncs 7976564 Variable_name Value Innodb_os_log_pending_fsyncs 0 Innodb_os_log_pending_writes 0 Innodb_os_log_written 7007020032 Innodb_page_size 16384 Innodb_pages_created 78647 Innodb_pages_read 1184669628 Innodb_pages_written 17390379 Innodb_row_lock_current_waits 0 Innodb_row_lock_time 1116 Innodb_row_lock_time_avg 39 Innodb_row_lock_time_max 963 Innodb_row_lock_waits 28 Innodb_rows_deleted 177424 Innodb_rows_inserted 5863854 Innodb_rows_read 14138431339 Innodb_rows_updated 4886889 Innodb_truncated_status_writes 0 Key_blocks_not_flushed 0 Key_blocks_unused 13 Key_blocks_used 13 Key_read_requests 3458723878 Key_reads 49092342 Key_write_requests 462162 Key_writes 436874 Last_query_cost 0.000000 Max_used_connections 137 Not_flushed_delayed_rows 0 Open_files 0 Open_streams 0 Open_table_definitions 113 Open_tables 4 Opened_files 6485943 Opened_table_definitions 116 Opened_tables 31771706 Performance_schema_cond_classes_lost 0 Performance_schema_cond_instances_lost 0 Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_locker_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Prepared_stmt_count 0 Qcache_free_blocks 0 Qcache_free_memory 0 Qcache_hits 0 Qcache_inserts 0 Qcache_lowmem_prunes 0 Qcache_not_cached 0 Qcache_queries_in_cache 0 Qcache_total_blocks 0 Queries 191630861 Questions 191562751 Rpl_status AUTH_MASTER Select_full_join 7193 Select_full_range_join 0 Select_range 957755 Select_range_check 0 Select_scan 57577013 Slave_heartbeat_period 0.000 Slave_open_temp_tables 0 Slave_received_heartbeats 0 Slave_retried_transactions 0 Slave_running OFF Slow_launch_threads 0 Slow_queries 445 Sort_merge_passes 3531 Sort_range 5655320 Sort_rows 43857009 Sort_scan 757681 Ssl_accept_renegotiates 0 Ssl_accepts 0 Ssl_callback_cache_hits 0 Ssl_cipher Ssl_cipher_list Ssl_client_connects 0 Ssl_connect_renegotiates 0 Ssl_ctx_verify_depth 0 Ssl_ctx_verify_mode 0 Ssl_default_timeout 0 Ssl_finished_accepts 0 Ssl_finished_connects 0 Ssl_session_cache_hits 0 Ssl_session_cache_misses 0 Ssl_session_cache_mode NONE Ssl_session_cache_overflows 0 Ssl_session_cache_size 0 Ssl_session_cache_timeouts 0 Ssl_sessions_reused 0 Ssl_used_session_cache_entries 0 Ssl_verify_depth 0 Ssl_verify_mode 0 Ssl_version Table_locks_immediate 51310065 Variable_name Value Table_locks_waited 14101 Tc_log_max_pages_used 0 Tc_log_page_size 0 Tc_log_page_waits 0 Threads_cached 0 Threads_connected 4 Threads_created 26787751 Threads_running 1 Uptime 1208447 Uptime_since_flush_status 1208447 Current SHOW GLOBAL VARIABLES: Variable_name Value auto_increment_increment 1 auto_increment_offset 1 autocommit ON automatic_sp_privileges ON back_log 50 basedir /usr big_tables OFF binlog_cache_size 32768 binlog_direct_non_transactional_updates OFF binlog_format STATEMENT binlog_stmt_cache_size 32768 bulk_insert_buffer_size 8388608 character_set_client latin1 character_set_connection latin1 character_set_database latin1 character_set_filesystem binary character_set_results latin1 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ collation_connection latin1_swedish_ci collation_database latin1_swedish_ci collation_server latin1_swedish_ci completion_type NO_CHAIN concurrent_insert AUTO connect_timeout 10 datadir /var/lib/mysql/ date_format %Y-%m-%d datetime_format %Y-%m-%d %H:%i:%s default_storage_engine InnoDB default_week_format 0 delay_key_write ON delayed_insert_limit 100 delayed_insert_timeout 300 delayed_queue_size 1000 div_precision_increment 4 engine_condition_pushdown ON event_scheduler OFF expire_logs_days 0 flush OFF flush_time 0 foreign_key_checks ON ft_boolean_syntax + -><()~*:""&| ft_max_word_len 84 ft_min_word_len 3 ft_query_expansion_limit 20 ft_stopword_file (built-in) general_log OFF general_log_file /var/lib/mysql/db.log group_concat_max_len 1024 have_compress YES have_crypt YES have_csv YES have_dynamic_loading YES have_geometry YES have_innodb YES have_ndbcluster NO have_openssl DISABLED have_partitioning YES have_profiling YES have_query_cache YES have_rtree_keys YES have_ssl DISABLED have_symlink YES hostname silldb5 ignore_builtin_innodb OFF init_connect init_file init_slave innodb_adaptive_flushing ON innodb_adaptive_hash_index ON innodb_additional_mem_pool_size 8388608 innodb_autoextend_increment 8 innodb_autoinc_lock_mode 1 innodb_buffer_pool_instances 1 innodb_buffer_pool_size 134217728 innodb_change_buffering all innodb_checksums ON innodb_commit_concurrency 0 innodb_concurrency_tickets 500 innodb_data_file_path ibdata1:10M:autoextend innodb_data_home_dir innodb_doublewrite ON innodb_fast_shutdown 1 innodb_file_format Antelope innodb_file_format_check ON innodb_file_format_max Antelope innodb_file_per_table OFF innodb_flush_log_at_trx_commit 1 innodb_flush_method innodb_force_load_corrupted OFF innodb_force_recovery 0 innodb_io_capacity 200 innodb_large_prefix OFF innodb_lock_wait_timeout 50 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 8388608 innodb_log_file_size 5242880 innodb_log_files_in_group 2 innodb_log_group_home_dir ./ Variable_name Value innodb_max_dirty_pages_pct 75 innodb_max_purge_lag 0 innodb_mirrored_log_groups 1 innodb_old_blocks_pct 37 innodb_old_blocks_time 0 innodb_open_files 300 innodb_purge_batch_size 20 innodb_purge_threads 0 innodb_random_read_ahead OFF innodb_read_ahead_threshold 56 innodb_read_io_threads 4 innodb_replication_delay 0 innodb_rollback_on_timeout OFF innodb_rollback_segments 128 innodb_spin_wait_delay 6 innodb_stats_method nulls_equal innodb_stats_on_metadata ON innodb_stats_sample_pages 8 innodb_strict_mode OFF innodb_support_xa ON innodb_sync_spin_loops 30 innodb_table_locks ON innodb_thread_concurrency 0 innodb_thread_sleep_delay 10000 innodb_use_native_aio ON innodb_use_sys_malloc ON innodb_version 1.1.8 innodb_write_io_threads 4 interactive_timeout 28800 join_buffer_size 131072 keep_files_on_create OFF key_buffer_size 16384 key_cache_age_threshold 300 key_cache_block_size 1024 key_cache_division_limit 100 large_files_support ON large_page_size 0 large_pages OFF lc_messages en_US lc_messages_dir /usr/share/mysql/ lc_time_names en_US license GPL local_infile ON lock_wait_timeout 31536000 locked_in_memory OFF log OFF log_bin OFF log_bin_trust_function_creators OFF log_error /var/lib/mysql/db.err log_output FILE log_queries_not_using_indexes OFF log_slave_updates OFF log_slow_queries OFF log_warnings 1 long_query_time 10.000000 low_priority_updates OFF lower_case_file_system OFF lower_case_table_names 0 max_allowed_packet 1048576 max_binlog_cache_size 18446744073709547520 max_binlog_size 1073741824 max_binlog_stmt_cache_size 18446744073709547520 max_connect_errors 10 max_connections 2000 max_delayed_threads 20 max_error_count 64 max_heap_table_size 16777216 max_insert_delayed_threads 20 max_join_size 18446744073709551615 max_length_for_sort_data 1024 max_long_data_size 1048576 max_prepared_stmt_count 16382 max_relay_log_size 0 max_seeks_for_key 18446744073709551615 max_sort_length 1024 max_sp_recursion_depth 0 max_tmp_tables 32 max_user_connections 0 max_write_lock_count 18446744073709551615 metadata_locks_cache_size 1024 min_examined_row_limit 0 multi_range_count 256 myisam_data_pointer_size 6 myisam_max_sort_file_size 9223372036853727232 myisam_mmap_size 18446744073709551615 myisam_recover_options OFF myisam_repair_threads 1 myisam_sort_buffer_size 8388608 myisam_stats_method nulls_unequal myisam_use_mmap OFF net_buffer_length 2048 net_read_timeout 30 net_retry_count 10 net_write_timeout 60 new OFF old OFF old_alter_table OFF old_passwords OFF open_files_limit 10000 optimizer_prune_level 1 Variable_name Value optimizer_search_depth 62 optimizer_switch index_merge=on,index_merge_union=on,index_merge_so... performance_schema OFF performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_file_classes 50 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 1000000 performance_schema_max_rwlock_classes 30 performance_schema_max_rwlock_instances 1000000 performance_schema_max_table_handles 100000 performance_schema_max_table_instances 50000 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 1000 pid_file /var/run/mysqld/mysqld.pid plugin_dir /usr/lib64/mysql/plugin port 3306 preload_buffer_size 32768 profiling OFF profiling_history_size 15 protocol_version 10 query_alloc_block_size 8192 query_cache_limit 1048576 query_cache_min_res_unit 4096 query_cache_size 8 388 608 query_cache_type ON query_cache_wlock_invalidate OFF query_prealloc_size 8192 range_alloc_block_size 4096 read_buffer_size 262144 read_only OFF read_rnd_buffer_size 262144 relay_log relay_log_index relay_log_info_file relay-log.info relay_log_purge ON relay_log_recovery OFF relay_log_space_limit 0 report_host report_password report_port 3306 report_user rpl_recovery_rank 0 secure_auth OFF secure_file_priv server_id 1 skip_external_locking ON skip_name_resolve ON skip_networking OFF skip_show_database OFF slave_compressed_protocol OFF slave_exec_mode STRICT slave_load_tmpdir /tmp slave_net_timeout 3600 slave_skip_errors OFF slave_transaction_retries 10 slave_type_conversions slow_launch_time 2 slow_query_log OFF slow_query_log_file /var/lib/mysql/slow.log socket /var/lib/mysql/mysql.sock sort_buffer_size 65536 sql_auto_is_null OFF sql_big_selects ON sql_big_tables OFF sql_buffer_result OFF sql_log_bin ON sql_log_off OFF sql_low_priority_updates OFF sql_max_join_size 18446744073709551615 sql_mode sql_notes ON sql_quote_show_create ON sql_safe_updates OFF sql_select_limit 18446744073709551615 sql_slave_skip_counter 0 sql_warnings OFF ssl_ca ssl_capath ssl_cert ssl_cipher ssl_key storage_engine InnoDB sync_binlog 0 sync_frm ON sync_master_info 0 sync_relay_log 0 sync_relay_log_info 0 system_time_zone CET table_definition_cache 400 table_open_cache 4 thread_cache_size 100 thread_concurrency 8 thread_handling one-thread-per-connection thread_stack 524288 time_format %H:%i:%s Variable_name Value time_zone SYSTEM timed_mutexes OFF tmp_table_size 16777216 tmpdir /tmp transaction_alloc_block_size 8192 transaction_prealloc_size 4096 tx_isolation REPEATABLE-READ unique_checks ON updatable_views_with_limit YES version 5.5.20 version_comment MySQL Community Server (GPL) by Remi version_compile_machine x86_64 version_compile_os Linux wait_timeout 28800
Optimising mysql is very well commented on the net, and you’ll find huge information on how to do this. There is never “best parameters”, the best parameters is those fits your needs, box hardware, mysql usage… So, I’ll not give the best parameters but rather how to define these ones. Make some tests, and you’ll quickly find your own parameters. There a lot of available parameters but only few one are very important to tweak your mysql box. The most important variables are (for me, and it is not exhaustive): - max_connections - wait_timeout - thread_cache_size - table_cache - key_buffer_size - query_cache_size - tmp_table_size To obtain the stat of your mysql server since it has been loaded, run mysqladmin processlist extended-status as mentionned above. 1 - The two most important variables : Table_cache and Key_buffer_size If Opened_tables is big, then your table_cache variable is probably too small. table_cache 64 Open_tables 64 Opened_tables 544468 This is the first serious problem. "The table_cache is the number of open tables for all threads. MySQL, being multi-threaded, may be running many queries on the table at one time, and each of these will open a table." Therefore, even though we only have a few tables, we will need many more open_tables. The Opened_tables value is high and shows the number of cache misses. Getting the table_cache size correct is one of the two best things you can do to improve performance. If Key_reads is big, then your key_buffer_size variable is probably too small. The cache hit rate can be calculated with Key_reads/Key_read_requests. key_buffer_size 16M Key_read_requests 2973620399 Key_reads 8490571 (cache hit rate = 0.0028) “The key_buffer_size affects the size of the index buffers and the speed of index handling, particularly reading." The MySQL manual (and other sources) say that "Key_reads/Key_read_request ratio should normally be < 0.01." This is the other most important thing to get correct. Here the value seems to be correct (< 0.01) Also check key_write_requests and key_writes. The key_writes/key_writes_request should normally be < 1 (near 0.5 seems to be fine) Here is a very interesting web pointer : table_cache and key_buffer_size 2 - Others important settings are : Wait_timeout, max_connexion, thread_cache A little explanation : Generaly you have a lot of mysql process that are sleeping because wait_timeout are not set low. So I make sure that the wait_timeout is set to a very low value: 15 seconds (for me) . That means MySQL would close any connection that was idle for more than 15 seconds. The problem is you also have to increment your max_connexion (mine is set to 300) to be sure there is not a lot of idle clients holding connections and blocking out new clients from connecting and getting real work done. The pbm is that the box has to create new threads (MySQL is a multi-threaded server) at a very high rate. That may sucks up a measurable amount of CPU time. So the solution is to use the Thread_cache (from mysql doc) : “How many threads we should keep in a cache for reuse. When a client disconnects, the client's threads are put in the cache if there aren't more than thread_cache_size threads from before. All new threads are first taken from the cache, and only when the cache is empty is a new thread created. This variable can be increased to improve performance if you have a lot of new connections. (Normally this doesn't give a notable performance improvement if you have a good thread implementation.) By examing the difference between the Connections and Threads_created you can see how efficient the current thread cache is for you.” If Threads_created is big, you may want to increase the thread_cache_size variable. The cache hit rate can be calculated with Threads_created/Connections. thread_cache_size 0 Threads_created 150022 Connections 150023 This is the second problem that should be fixed. A cache size of zero is the default for my-medium.cnf but the recommended size in my-large.cnf is 8. you may try this formula : table_cache = opened table / max_used_connection 3 - Finally, you may also have a look at : tmp_table_size and Handler_read_rnd / Handler_read_rnd_next If Created_tmp_disk_tables is big, you may want to increase the tmp_table_size variable to get the temporary tables memory-based instead of disk based. tmp_table_size 32M Created_tmp_disk_tables 3227 Created_tmp_tables 159832 Created_tmp_files 4444 Created_tmp_disk_tables are the "number of implicit temporary tables on disk created while executing statements" and Created_tmp_tables are memory-based. Obviously it is bad if you have to go to disk instead of memory. About 2% of temp tables go to disk, which doesn't seem too bad but increasing the tmp_table_size probably couldn't hurt either. If Handler_read_rnd is big, then you probably have a lot of queries that require MySQL to scan whole tables or you have joins that don't use keys properly. Handler_read_rnd 27712353 Handler_read_rnd_next 283536234 These values are high, that we could probably stand to improve the indexes and queries. I hope this will help some of you to more understand how it is possible to optimise MYSQL to fit your needs, hardaware box, or mysql current usage.
For those who'll read this response later : ONLY FOR MYSQL SERVER LESS THAN 6.0 If you change tmp_table_size, don't forget to carry about max_heap_table_size value too. Explanation here Another topic about this VARS : here
For people just discovering this very helpful post, other possible changes include: max_connections of 2000 could be safely reduced since max_used_connections is 137. key_buffer_size at 16384 bytes seems very small for the workload. key_cache_division_limit = 50 would keep repetetively used keys in hot/warm memory and avoid disk reads. key_age_threshold = 3600 seconds would keep keys available in memory for 1 hr vs 5 minutes. open_files_limit = 1024 would support the workload.
MySQL performance problems for queries | Optimization best practices?
We got a Linux server with 4gb RAM and MySQL 5.1.41. We have default settings on MySQL. We run real time social network service, similar to Twitter. Data base consist from 1,4 miljon tweet entries. Our web and desktop clients fetching new entries sending queries every 5 sec. We are now testing system with few clients, but it hang up SQL - every request works for 15 sec. If remove "order by" - time decreasing by half but still too slow, we expecting to have several hundred clients, which could hang up instance. Any advice from Mysql performance experts? `SELECT A.ID id, A.msg, A.pic, A.time_added, A.public, A.twitter_status_id, A.twitter_update_type, A.USERID userid, A.pic_host, B.ppic_host, B.username, B.profilepicture FROM posts A, members B WHERE (A.channel_id IN (489, 109, 490, 4, 493, 494, 495, 496, 497, 452, 80, 53, 198, 834, 498, 500, 501, 852, 505, 506, 507, 508, 509, 510, 511, 778, 515, 132, 517, 519, 931, 932, 934, 521, 523, 524, 780, 569, 527, 12, 529, 530, 532, 533, 534, 936, 938, 536, 537, 708, 940, 704) AND A.USERID=B.USERID AND A.type='update' AND A.public=1 AND A.TIME_ADDED>1305543735) order by A.TIME_ADDED desc limit 50; mysql> EXPLAIN -> -> SELECT -> A.ID id, -> A.msg, -> A.pic, -> A.time_added, -> A.public, -> A.twitter_status_id, -> A.twitter_update_type, -> A.USERID userid, -> A.pic_host, -> B.ppic_host, -> B.username, -> B.profilepicture -> FROM posts A, members B WHERE -> -> (A.channel_id IN (489, 109, 490, 4, 493, 494, 495, 496, 497, 452, 80, 53, 198, 834, 498, 500, 501, 852, 505, 506, 507, 508, 509, 510, 511, 778, 515, 132, 517, 519, 931, 932, 934, 521, 523, 524, 780, 569, 527, 12, 529, 530, 532, 533, 534, 936, 938, 536, 537, 708, 940, 704) -> -> AND A.USERID=B.USERID -> AND A.type='update' -> AND A.public=1 -> AND A.TIME_ADDED>1305543735) -> -> order by A.TIME_ADDED -> desc limit 50; +----+-------------+-------+--------+-----------------------------------------------+------------+---------+------------------------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+--------+-----------------------------------------------+------------+---------+------------------------+------+-------------+ | 1 | SIMPLE | A | range | USERID,type,time_added,userid+type,channel_id | time_added | 5 | NULL | 18 | Using where | | 1 | SIMPLE | B | eq_ref | PRIMARY,USERID | PRIMARY | 8 | twitter_devel.A.USERID | 1 | | +----+-------------+-------+--------+-----------------------------------------------+------------+---------+------------------------+------+-------------+ 2 rows in set (0.00 sec) DDL for table posts: CREATE TABLE `posts` ( `ID` bigint(20) NOT NULL AUTO_INCREMENT, `type` varchar(10) NOT NULL, `USERID` bigint(20) NOT NULL, `PID` bigint(20) NOT NULL, `UID` bigint(20) NOT NULL, `UIDO` bigint(20) NOT NULL, `channel_id` bigint(20) DEFAULT NULL, `msg` text NOT NULL, `pic` varchar(20) NOT NULL, `pic_host` varchar(40) DEFAULT NULL, `pdf_host` varchar(40) DEFAULT NULL, `time_added` int(10) DEFAULT NULL, `views` bigint(20) NOT NULL, `reply` bigint(20) NOT NULL, `edited` varchar(20) NOT NULL, `public` int(11) NOT NULL DEFAULT '1', `twitter_status_id` bigint(50) DEFAULT NULL, `twitter_update_type` varchar(10) DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), KEY `USERID` (`USERID`), KEY `type` (`type`), KEY `UID` (`UID`), KEY `time_added` (`time_added`), KEY `userid+type` (`type`,`USERID`) USING BTREE, KEY `pic` (`pic`), KEY `channel_id` (`channel_id`), FULLTEXT KEY `msg` (`msg`) ) ENGINE=MyISAM AUTO_INCREMENT=1591683 DEFAULT CHARSET=utf8; auto_increment_increment 2 auto_increment_offset 2 autocommit ON automatic_sp_privileges ON back_log 50 basedir /usr/ big_tables OFF binlog_cache_size 32768 binlog_format MIXED bulk_insert_buffer_size 8388608 character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ collation_connection utf8_general_ci collation_database utf8_general_ci collation_server utf8_unicode_ci completion_type 0 concurrent_insert 1 connect_timeout 10 datadir /var/lib/mysql/ date_format %Y-%m-%d datetime_format %Y-%m-%d %H:%i:%s default_week_format 0 delay_key_write ON delayed_insert_limit 100 delayed_insert_timeout 300 delayed_queue_size 1000 div_precision_increment 4 engine_condition_pushdown ON error_count 0 event_scheduler OFF example_enum_var e1 example_ulong_var 8 expire_logs_days 10 flush OFF flush_time 0 foreign_key_checks ON ft_boolean_syntax + -><()~*:""&| ft_max_word_len 84 ft_min_word_len 4 ft_query_expansion_limit 20 ft_stopword_file (built-in) general_log OFF general_log_file /var/run/mysql/mysqld.log group_concat_max_len 1024 have_community_features YES have_compress YES have_crypt YES have_csv YES have_dynamic_loading YES have_geometry YES have_innodb YES have_ndbcluster DISABLED have_openssl DISABLED have_partitioning YES have_query_cache YES have_rtree_keys YES have_ssl DISABLED have_symlink YES hostname vteu02.veritweet.com identity 0 ignore_builtin_innodb OFF init_connect init_file init_slave innodb_adaptive_hash_index ON innodb_additional_mem_pool_size 1048576 innodb_autoextend_increment 8 innodb_autoinc_lock_mode 1 innodb_buffer_pool_size 8388608 innodb_checksums ON innodb_commit_concurrency 0 innodb_concurrency_tickets 500 innodb_data_file_path ibdata1:10M:autoextend innodb_data_home_dir innodb_doublewrite ON innodb_fast_shutdown 1 innodb_file_io_threads 4 innodb_file_per_table OFF innodb_flush_log_at_trx_commit 1 innodb_flush_method innodb_force_recovery 0 innodb_lock_wait_timeout 50 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 1048576 innodb_log_file_size 5242880 innodb_log_files_in_group 2 innodb_log_group_home_dir ./ innodb_max_dirty_pages_pct 90 innodb_max_purge_lag 0 innodb_mirrored_log_groups 1 innodb_open_files 300 innodb_rollback_on_timeout OFF innodb_stats_on_metadata ON innodb_support_xa ON innodb_sync_spin_loops 20 innodb_table_locks ON innodb_thread_concurrency 8 innodb_thread_sleep_delay 10000 innodb_use_legacy_cardinality_algorithm ON insert_id 0 interactive_timeout 28800 join_buffer_size 131072 keep_files_on_create OFF key_buffer_size 16777216 key_cache_age_threshold 300 key_cache_block_size 1024 key_cache_division_limit 100 language /usr/share/mysql/english/ large_files_support ON large_page_size 0 large_pages OFF last_insert_id 0 lc_time_names en_US license GPL local_infile ON locked_in_memory OFF log OFF log_bin ON log_bin_trust_function_creators OFF log_bin_trust_routine_creators OFF log_error /var/log/mysql/mysqld.log log_output FILE log_queries_not_using_indexes ON log_slave_updates OFF log_slow_queries ON log_warnings 1 long_query_time 10.000000 low_priority_updates OFF lower_case_file_system OFF lower_case_table_names 0 max_allowed_packet 1048576 max_binlog_cache_size 18446744073709547520 max_binlog_size 524288000 max_connect_errors 10 max_connections 151 max_delayed_threads 20 max_error_count 64 max_heap_table_size 16777216 max_insert_delayed_threads 20 max_join_size 18446744073709551615 max_length_for_sort_data 1024 max_prepared_stmt_count 16382 max_relay_log_size 0 max_seeks_for_key 18446744073709551615 max_sort_length 1024 max_sp_recursion_depth 0 max_tmp_tables 32 max_user_connections 0 max_write_lock_count 18446744073709551615 min_examined_row_limit 0 multi_range_count 256 myisam_data_pointer_size 6 myisam_max_sort_file_size 9223372036853727232 myisam_recover_options OFF myisam_repair_threads 1 myisam_sort_buffer_size 8388608 myisam_stats_method nulls_unequal myisam_use_mmap OFF ndb_autoincrement_prefetch_sz 1 ndb_batch_size 32768 ndb_cache_check_time 0 ndb_connectstring ndb_extra_logging 1 ndb_force_send ON ndb_index_stat_cache_entries 32 ndb_index_stat_enable OFF ndb_index_stat_update_freq 20 ndb_log_binlog_index ON ndb_log_update_as_write ON ndb_log_updated_only ON ndb_optimization_delay 10 ndb_optimized_node_selection 3 ndb_report_thresh_binlog_epoch_slip 3 ndb_report_thresh_binlog_mem_usage 10 ndb_table_no_logging OFF ndb_table_temporary OFF ndb_use_copying_alter_table OFF ndb_use_exact_count OFF ndb_use_transactions ON ndbinfo_database ndbinfo ndbinfo_max_bytes 0 ndbinfo_max_rows 10 ndbinfo_show_hidden OFF ndbinfo_table_prefix ndb$ ndbinfo_version 458765 net_buffer_length 8192 net_read_timeout 30 net_retry_count 10 net_write_timeout 60 new OFF old OFF old_alter_table OFF old_passwords OFF open_files_limit 1024 optimizer_prune_level 1 optimizer_search_depth 62 optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on pid_file /var/run/mysql/mysqld.pid plugin_dir /usr/lib64/mysql/plugin port 3306 preload_buffer_size 32768 profiling ON profiling_history_size 15 protocol_version 10 pseudo_thread_id 304885 query_alloc_block_size 8192 query_cache_limit 1048576 query_cache_min_res_unit 4096 query_cache_size 0 query_cache_type ON query_cache_wlock_invalidate OFF query_prealloc_size 8192 rand_seed1 rand_seed2 range_alloc_block_size 4096 read_buffer_size 262144 read_only OFF read_rnd_buffer_size 524288 relay_log /var/lib/mysql/slave-relay.log relay_log_index /var/lib/mysql/slave-relay-log.index relay_log_info_file relay-log.info relay_log_purge ON relay_log_space_limit 0 report_host report_password report_port 3306 report_user rpl_recovery_rank 0 secure_auth OFF secure_file_priv server_id 22 skip_external_locking ON skip_networking OFF skip_show_database OFF slave_allow_batching OFF slave_compressed_protocol OFF slave_exec_mode STRICT slave_load_tmpdir /var/tmp/mysql.XeaVJ2 slave_net_timeout 3600 slave_skip_errors OFF slave_transaction_retries 10 slow_launch_time 2 slow_query_log ON slow_query_log_file /var/run/mysql/mysqld-slow.log socket /var/run/mysql/mysql.sock sort_buffer_size 524288 sql_auto_is_null ON sql_big_selects ON sql_big_tables OFF sql_buffer_result OFF sql_log_bin ON sql_log_off OFF sql_log_update ON sql_low_priority_updates OFF sql_max_join_size 18446744073709551615 sql_mode sql_notes ON sql_quote_show_create ON sql_safe_updates OFF sql_select_limit 18446744073709551615 sql_slave_skip_counter sql_warnings OFF ssl_ca ssl_capath ssl_cert ssl_cipher ssl_key storage_engine MyISAM sync_binlog 0 sync_frm ON system_time_zone EEST table_definition_cache 256 table_lock_wait_timeout 50 table_open_cache 64 table_type MyISAM thread_cache_size 0 thread_handling one-thread-per-connection thread_stack 262144 time_format %H:%i:%s time_zone SYSTEM timed_mutexes OFF timestamp 1305623046 tmp_table_size 16777216 tmpdir /var/tmp/mysql.XeaVJ2 transaction_alloc_block_size 8192 transaction_allow_batching ON transaction_prealloc_size 4096 tx_isolation REPEATABLE-READ unique_checks ON updatable_views_with_limit YES version 5.1.41-ndb-7.0.13-log version_comment SUSE MySQL Cluster RPM version_compile_machine x86_64 version_compile_os suse-linux-gnu wait_timeout 28800 warning_count 0
You should have indexes on channel_id, userid, type, public and time_added.
We have default settings on MySQL This is not good, because those are pretty conservative values. If your storage engine is InnoDB (if its not, then switch to it) then the default cache size is 8MB - so your other 4GB of RAM are pretty useless. set innodb_buffer_pool_size to 3GB (if that is a DB dedicated server) - otherwise put some decent value there. Also, tell us about the indexes that are on that table.
When asking questions about performance of a MySQL query, you should always post the following: Output of SHOW CREATE TABLE tablename Output of EXPLAIN SELECT query_goes_here Output of SHOW VARIABLES What's happening is that your table is probably not optimized as it should and since MySQL runs on default settings - it's tuned for slow machines and is not using any advanced hardware support you might have. Now, when choosing indexes - one has to take into account several factors, I've read someone mentioned you should index everything you JOIN on - which isn't true in all cases, cardinality plays a role when choosing indexes. You should edit your question and provide us with more data.