table_open_cache Problem

Poste bitte mal den Output:
Code:
mysql -uroot -p -e "SHOW GLOBAL STATUS;"

Füge testweise bitte mal folgende Option zur my.cnf hinzu:
Code:
table_open_cache_instances=8

BTW: Dort ist man leider auch nicht wirklich weitergekommen, bestätigt aber im letzten Post meine Vermutung zu ineffizienten Schemata und Queries:
http://forums.cpanel.net/f189/table-cache-hit-rate-0-a-345631.html


Und speziell für Huschi auch noch ein Link:
http://www.mysqlperformanceblog.com/2009/11/16/table_cache-negative-scalability/
Soviel zu Deinem Flame gegen meine Aussage, dass ein zu hoher table_cache kontraproduktiv sein kann.
 
Last edited by a moderator:
table_open_cache_instances ist schon seit ein paar Tagen auf 8 eingestellt. Hatte ich hier im Thread mal erwähnt. Das bringt schon was für das Caching.

Ansonsten hier der gewünschte Output:

Code:
+-----------------------------------------------+-------------+
| Variable_name                                 | Value       |
+-----------------------------------------------+-------------+
| Aborted_clients                               | 0           |
| Aborted_connects                              | 0           |
| Binlog_cache_disk_use                         | 0           |
| Binlog_cache_use                              | 32388       |
| Binlog_stmt_cache_disk_use                    | 0           |
| Binlog_stmt_cache_use                         | 1497        |
| Bytes_received                                | 46673019    |
| Bytes_sent                                    | 246846042   |
| Com_admin_commands                            | 5           |
| 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                                   | 572         |
| Com_begin                                     | 0           |
| Com_binlog                                    | 0           |
| Com_call_procedure                            | 0           |
| Com_change_db                                 | 18          |
| Com_change_master                             | 0           |
| Com_check                                     | 0           |
| Com_checksum                                  | 0           |
| Com_commit                                    | 108         |
| 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                                    | 302         |
| 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                                     | 3           |
| Com_get_diagnostics                           | 0           |
| Com_grant                                     | 0           |
| Com_ha_close                                  | 0           |
| Com_ha_open                                   | 0           |
| Com_ha_read                                   | 0           |
| Com_help                                      | 0           |
| Com_insert                                    | 28029       |
| Com_insert_select                             | 43          |
| Com_install_plugin                            | 0           |
| Com_kill                                      | 0           |
| Com_load                                      | 208         |
| Com_lock_tables                               | 0           |
| Com_optimize                                  | 216         |
| Com_preload_keys                              | 0           |
| Com_prepare_sql                               | 0           |
| Com_purge                                     | 0           |
| Com_purge_before_date                         | 0           |
| Com_release_savepoint                         | 38          |
| 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                                 | 38          |
| Com_select                                    | 29638       |
| Com_set_option                                | 11078       |
| Com_signal                                    | 0           |
| Com_show_binlog_events                        | 0           |
| Com_show_binlogs                              | 3           |
| 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                         | 0           |
| Com_show_create_trigger                       | 0           |
| Com_show_databases                            | 6           |
| 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                               | 0           |
| Com_show_function_code                        | 0           |
| Com_show_function_status                      | 0           |
| Com_show_grants                               | 1           |
| Com_show_keys                                 | 0           |
| Com_show_master_status                        | 2           |
| Com_show_open_tables                          | 0           |
| Com_show_plugins                              | 0           |
| 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                         | 2           |
| Com_show_status                               | 2743        |
| Com_show_storage_engines                      | 5           |
| Com_show_table_status                         | 26          |
| Com_show_tables                               | 105         |
| Com_show_triggers                             | 0           |
| Com_show_variables                            | 1378        |
| Com_show_warnings                             | 0           |
| Com_slave_start                               | 0           |
| Com_slave_stop                                | 0           |
| Com_stmt_close                                | 48289       |
| Com_stmt_execute                              | 49904       |
| Com_stmt_fetch                                | 0           |
| Com_stmt_prepare                              | 49904       |
| Com_stmt_reprepare                            | 0           |
| Com_stmt_reset                                | 22677       |
| Com_stmt_send_long_data                       | 0           |
| Com_truncate                                  | 40          |
| Com_uninstall_plugin                          | 0           |
| Com_unlock_tables                             | 0           |
| Com_update                                    | 4752        |
| Com_update_multi                              | 34          |
| 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                                   | 14401       |
| Created_tmp_disk_tables                       | 4833        |
| Created_tmp_files                             | 129         |
| Created_tmp_tables                            | 40491       |
| Delayed_errors                                | 0           |
| Delayed_insert_threads                        | 0           |
| Delayed_writes                                | 69          |
| Flush_commands                                | 1           |
| Handler_commit                                | 94657       |
| Handler_delete                                | 45286       |
| Handler_discover                              | 0           |
| Handler_external_lock                         | 143222      |
| Handler_mrr_init                              | 0           |
| Handler_prepare                               | 64846       |
| Handler_read_first                            | 1205        |
| Handler_read_key                              | 311566      |
| Handler_read_last                             | 67          |
| Handler_read_next                             | 1619291     |
| Handler_read_prev                             | 131229      |
| Handler_read_rnd                              | 205749      |
| Handler_read_rnd_next                         | 20764998    |
| Handler_rollback                              | 0           |
| Handler_savepoint                             | 10          |
| Handler_savepoint_rollback                    | 0           |
| Handler_update                                | 26948       |
| Handler_write                                 | 20136632    |
| Innodb_buffer_pool_dump_status                | not started |
| Innodb_buffer_pool_load_status                | not started |
| Innodb_buffer_pool_pages_data                 | 257361      |
| Innodb_buffer_pool_bytes_data                 | 4216602624  |
| Innodb_buffer_pool_pages_dirty                | 0           |
| Innodb_buffer_pool_bytes_dirty                | 0           |
| Innodb_buffer_pool_pages_flushed              | 377368      |
| Innodb_buffer_pool_pages_free                 | 4096        |
| Innodb_buffer_pool_pages_misc                 | 683         |
| Innodb_buffer_pool_pages_total                | 262140      |
| Innodb_buffer_pool_read_ahead_rnd             | 0           |
| Innodb_buffer_pool_read_ahead                 | 49540       |
| Innodb_buffer_pool_read_ahead_evicted         | 242         |
| Innodb_buffer_pool_read_requests              | 144530336   |
| Innodb_buffer_pool_reads                      | 40495       |
| Innodb_buffer_pool_wait_free                  | 0           |
| Innodb_buffer_pool_write_requests             | 68669759    |
| Innodb_data_fsyncs                            | 119225      |
| Innodb_data_pending_fsyncs                    | 0           |
| Innodb_data_pending_reads                     | 0           |
| Innodb_data_pending_writes                    | 0           |
| Innodb_data_read                              | 1477365760  |
| Innodb_data_reads                             | 90575       |
| Innodb_data_writes                            | 493459      |
| Innodb_data_written                           | 17660582400 |
| Innodb_dblwr_pages_written                    | 377368      |
| Innodb_dblwr_writes                           | 34166       |
| Innodb_have_atomic_builtins                   | ON          |
| Innodb_log_waits                              | 0           |
| Innodb_log_write_requests                     | 13059623    |
| Innodb_log_writes                             | 59218       |
| Innodb_os_log_fsyncs                          | 14928       |
| Innodb_os_log_pending_fsyncs                  | 0           |
| Innodb_os_log_pending_writes                  | 0           |
| Innodb_os_log_written                         | 5291744256  |
| Innodb_page_size                              | 16384       |
| Innodb_pages_created                          | 279388      |
| Innodb_pages_read                             | 90037       |
| Innodb_pages_written                          | 377368      |
| Innodb_row_lock_current_waits                 | 0           |
| Innodb_row_lock_time                          | 0           |
| Innodb_row_lock_time_avg                      | 0           |
| Innodb_row_lock_time_max                      | 0           |
| Innodb_row_lock_waits                         | 0           |
| Innodb_rows_deleted                           | 44977       |
| Innodb_rows_inserted                          | 18163844    |
| Innodb_rows_read                              | 20848942    |
| Innodb_rows_updated                           | 5506        |
| Innodb_num_open_files                         | 530         |
| Innodb_truncated_status_writes                | 0           |
| Innodb_available_undo_logs                    | 128         |
| Key_blocks_not_flushed                        | 10          |
| Key_blocks_unused                             | 1714722     |
| Key_blocks_used                               | 82          |
| Key_read_requests                             | 139930      |
| Key_reads                                     | 41          |
| Key_write_requests                            | 27583       |
| Key_writes                                    | 0           |
| Last_query_cost                               | 0.000000    |
| Last_query_partial_plans                      | 0           |
| Max_used_connections                          | 4           |
| Not_flushed_delayed_rows                      | 0           |
| Open_files                                    | 282         |
| Open_streams                                  | 0           |
| Open_table_definitions                        | 623         |
| Open_tables                                   | 5008        |
| Opened_files                                  | 23221       |
| Opened_table_definitions                      | 2112        |
| Opened_tables                                 | 149953      |
| 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                            | 16          |
| Qcache_free_memory                            | 129738368   |
| Qcache_hits                                   | 38466       |
| Qcache_inserts                                | 27591       |
| Qcache_lowmem_prunes                          | 0           |
| Qcache_not_cached                             | 2047        |
| Qcache_queries_in_cache                       | 737         |
| Qcache_total_blocks                           | 1627        |
| Queries                                       | 253079      |
| Questions                                     | 131747      |
| Select_full_join                              | 70          |
| Select_full_range_join                        | 0           |
| Select_range                                  | 20858       |
| Select_range_check                            | 0           |
| Select_scan                                   | 12567       |
| Slave_heartbeat_period                        | 0.000       |
| Slave_last_heartbeat                          |             |
| Slave_open_temp_tables                        | 0           |
| Slave_received_heartbeats                     | 0           |
| Slave_retried_transactions                    | 0           |
| Slave_running                                 | OFF         |
| Slow_launch_threads                           | 0           |
| Slow_queries                                  | 1           |
| Sort_merge_passes                             | 64          |
| Sort_range                                    | 7852        |
| Sort_rows                                     | 327141      |
| Sort_scan                                     | 8060        |
| 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                         | 71404       |
| Table_locks_waited                            | 0           |
| Table_open_cache_hits                         | 269784      |
| Table_open_cache_misses                       | 7455        |
| Table_open_cache_overflows                    | 0           |
| Tc_log_max_pages_used                         | 0           |
| Tc_log_page_size                              | 0           |
| Tc_log_page_waits                             | 0           |
| Threads_cached                                | 3           |
| Threads_connected                             | 1           |
| Threads_created                               | 4           |
| Threads_running                               | 1           |
| Uptime                                        | 68394       |
| Uptime_since_flush_status                     | 68394       |
+-----------------------------------------------+-------------+
 
Ich würde den Thread gerne wieder ins Gedächtnis rufen.


Zum aktuellen Stand. Piwik ist runter und einige kleine Foren laufen auf dem Server+ Munin.

Nach 5 Tagen Laufzeit sieht die Ausgabe so aus:

Code:
[OK] Logged in using credentials from debian maintenance account.

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.6.14-log
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 1G (Tables: 341)
[--] Data in InnoDB tables: 1G (Tables: 710)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 52)
[--] Data in MEMORY tables: 745K (Tables: 20)
[!!] Total fragmented tables: 113

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 5d 19h 32m 24s (6M q [12.176 qps], 174K conn, TX: 50B, RX: 2B)
[--] Reads / Writes: 15% / 85%
[--] Total buffers: 6.8G global + 16.6M per thread (200 max threads)
[OK] Maximum possible memory usage: 10.0G (31% of installed RAM)
[OK] Slow queries: 0% (339/6M)
[OK] Highest usage of available connections: 17% (34/200)
[OK] Key buffer size / total MyISAM indexes: 2.0G/1.3G
[!!] Key buffer hit rate: 85.0% (4M cached / 614K reads)
[OK] Query cache efficiency: 48.2% (656K cached / 1M selects)
[!!] Query cache prunes per day: 520
[OK] Sorts requiring temporary tables: 0% (89 temp sorts / 67K sorts)
[!!] Joins performed without indexes: 22073
[OK] Temporary tables created on disk: 19% (67K on disk / 338K total)
[OK] Thread cache hit rate: 99% (34 created / 174K connections)
[!!] Table cache hit rate: 0% (9K open / 1M opened)
[OK] Open file limit used: 9% (3K/32K)
[OK] Table locks acquired immediately: 99% (5M immediate / 5M locks)
[OK] InnoDB data size / buffer pool: 1.9G/4.0G

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Increasing the query_cache size over 128M may reduce performance
    Adjust your join queries to always utilize indexes
    Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
    query_cache_size (> 512M) [see warning above]
    join_buffer_size (> 10.0M, or always use indexes with joins)
    table_cache (> 16384)


Meine my.cnf:

Code:
[client]
port                            = 3306
socket                          = /var/run/mysqld/mysqld.sock

[mysqld]
#performance_schema              = on
user		                        = mysql
port = 3306
socket                          = /var/run/mysqld/mysqld.sock
bind-address                    = 127.0.0.1
basedir		                      = /opt/mysql/server-5.6
datadir                         = /opt/mysql/server-5.6/data
tmpdir		                      = /opt/mysql/tmp
slave-load-tmpdir               = /opt/mysql/tmp
secure-file-priv                = /opt/mysql/tmp
log-bin                         = /opt/mysql/loginfo/mysql-bin
relay-log                       = /opt/mysql/loginfo/relay.log
relay-log-index                 = /opt/mysql/loginfo/relay.index
relay-log-info-file             = /opt/mysql/loginfo/relay.info
master-info-file                = /opt/mysql/loginfo/master.info
#master-host                     = <hostname>
#master-user                     = <username>
#master-password                 = <password>
#master-port                     = 3306
#auto_increment_increment        = 10
#auto_increment_offset           = 1
default-storage-engine          = InnoDB
server-id                       = 1
back_log                        = 500
sync_binlog                     = 1
binlog_cache_size               = 4M
binlog_stmt_cache_size          = 4M
max_binlog_size                 = 500M
binlog-format                   = MIXED
expire_logs_days                = 30
slow-query-log                  = 1
slow-query-log-file             = /opt/mysql/loginfo/slow-query.log
slave_compressed_protocol       = 1
safe-user-create                = 1
delay-key-write                 = ALL
myisam-recover                  = FORCE,BACKUP
key_buffer_size                 = 2048M
max_allowed_packet              = 64M
max_heap_table_size             = 256M
tmp_table_size                  = 256M
thread_stack = 192K
table_open_cache                = 16384
table_definition_cache          = 8192
query_cache_type                = 1
query_cache_size                = 512M
query_cache_limit               = 8M
query_cache_min_res_unit        = 2K
thread_cache_size               = 150
max_connections                 = 200
ft_max_word_len                 = 20
ft_min_word_len                 = 3
long_query_time                 = 1
local-infile                    = 0
log-warnings                    = 2
log-slave-updates
#log-queries-not-using-indexes
skip-external-locking
skip-symbolic-links
innodb_thread_concurrency       = 8
innodb_buffer_pool_size         = 4G
innodb_buffer_pool_instances    = 4
#innodb_additional_mem_pool_size = 16M
innodb_use_sys_malloc           = ON
innodb_data_home_dir            = /opt/mysql/server-5.6/data
innodb_log_group_home_dir       = /opt/mysql/server-5.6/data
innodb_data_file_path = ibdata1:10G:autoextend
innodb_flush_method             = O_DIRECT
innodb_log_file_size            = 256M
innodb_log_buffer_size          = 16M
innodb_log_files_in_group       = 2
innodb_flush_log_at_trx_commit  = 2
innodb_max_dirty_pages_pct      = 90
innodb_file_per_table           = 1
innodb_purge_threads            = 1
innodb_strict_mode              = 1
innodb_old_blocks_time          = 1000
innodb_stats_on_metadata        = 0
innodb_write_io_threads         = 8
innodb_read_io_threads          = 8
innodb_io_capacity              = 200
innodb_open_files               = 8192

join_buffer_size                = 10M
read_rnd_buffer_size            = 6M
sort_buffer_size                = 256k
table_open_cache_instances      = 8
explicit_defaults_for_timestamp = TRUE


[mysqldump]
max_allowed_packet              = 64M
quote_names
quick

[isamchk]
key_buffer_size                 = 256M

[myisamchk]
key_buffer_size                 = 256M

[mysqlhotcopy]
interactive_timeout

Man sieht schon der Query Cache Size macht etwas Probleme. Das Limit wird regelmäßig beim Backup angekratzt.

Von den einmal empfohlenen 128 MB bin ich schon meilenweit entfernt.
 
Danke für die Erinnerung, da hatte ich etwas noch gar nicht gesehen:
Und speziell für Huschi auch noch ein Link:
http://www.mysqlperformanceblog.com/2009/11/16/table_cache-negative-scalability/
Soviel zu Deinem Flame gegen meine Aussage, dass ein zu hoher table_cache kontraproduktiv sein kann.
Oh ja die Jüngerschaft von mysqlperformanceblog vertraut mal wieder blind den Aussagen die dort geschrieben stehen.
Dabei weiß jeder, der sich mit Caching beschäftigt, dass die Cache-Verwaltung Performance schluckt. Ist ja auch klar. Die Cachedaten wollen schließlich verwaltet werden, damit sie beim nächsten und übernächsten Mal schneller bereit stehen.
Was aber macht mysqlperformanceblog? Einen Testaufbau mit "Each table in such case is accessed only once".
Das ist natürlich die ideale Methode um die Performance eines Table-Caches zu testen. :(

Lieber Joe, glaub ruhig weiterhin an die Übergottheit von mysqlperformanceblog.com ohne sie kritisch zu hinterfragen.
PS: Es beweist mal wieder meine Meinung über Dich: Du hast keine Ahnung sobald es in die Tiefe geht.


@Unifex:
Hast Du denn eine echtes Performance-Problem oder regst Du Dich nur über reine Statistikdaten auf?

PS: Nach einem Backup solltest Du idealerweise ein "RESET QUERY CACHE;" absetzen.

huschi.
 
[_] Du weisst wer Peter Zaitsev ist.

Huschi, wenn Du diesbezüglich so viel schlauer bist als Peter Zaitsev und viele andere Autoren des mysqlperformanceblog, dann poste bitte die Lösung für den OP, damit ihm endlich geholfen ist und wir den Thread abschliessen können.

Wenn Du es nicht bist, dann entschuldige Dich bitte hier öffentlich für Deinen grundlosen Flame mir und den Autoren des mysqlperformanceblog gegenüber.
 
Lieber Joe,
entweder versucht Peter etwas ganz anderes zu Beweisen als Du behauptest, oder der Versuchsaufbau ist falsch. Da ist es relativ egal wer er ist.

Und Du kannst noch so oft wie ein Rumpelstilzchen rum tanzen und behaupten dass bei Inserts und Updates (oder wie Du es laienhaft nennst: "writes") von text/blob-Feldern "Temp-Tables on disk" angelegt werden. Und ich hoffe inständig, dass hier niemand diesen Mist glaubt.


Und für Unifex:
Ich hatte noch keine Zeit es zu prüfen. Aber ich vermute dass in der neueren MySQL-Version die Status-Variable Opened_tables häufiger inkrementiert wird als in den älteren Versionen. Das könnten z.B. Temp-Tables sein, die bei Joins angelegt werden aber vorher nicht in die Opened_tables gezählt worden sind. Somit würde sich der Hit-Faktor des Table-Caches nicht mehr (oder zumindest nicht so) errechnen lassen.
Aber wie gesagt: nur eine Vermutung.
Daher auch meine Frage ob Du echte Performance-Probleme hast oder nicht.

huschi.
 
Und Du kannst noch so oft wie ein Rumpelstilzchen rum tanzen und behaupten dass bei Inserts und Updates (oder wie Du es laienhaft nennst: "writes") von text/blob-Feldern "Temp-Tables on disk" angelegt werden. Und ich hoffe inständig, dass hier niemand diesen Mist glaubt.
Zitat aus der offiziellen MySQL-Doku, relevante Stelle fett markiert:
Some conditions prevent the use of an in-memory temporary table, in which case the server uses an on-disk table instead:

Presence of a BLOB or TEXT column in the table


Presence of any string column in a GROUP BY or DISTINCT clause larger than 512 bytes

Presence of any string column with a maximum length larger than 512 (bytes for binary strings, characters for nonbinary strings) in the SELECT list, if UNION or UNION ALL is used

Und jetzt entschuldigst Du Dich bei mir, oder präsentierst den Link zum entsprechenden Bugreport bei Oracle.
 
Du verstehst von der Materie sogar weniger als ich bisher dachte. Denn Dein Beleg bezieht sich ausschließlich auf Queries. Also SELECTs (oder wie Du es ausdrückst: "reads"). Und das Selects über Text/Blob Temp-Tables nutzen, ist hinlänglich bekannt. Aber auch nicht jeder Select. Wenn man z.B. einen reinen Select auf eine einzelne Tabelle ohne JOIN, ORDER BY oder GROUP BY ausführt und die Ergebnismenge klein genug ist, werden (sogar laut dieser Doku) auch bei TEXT/BLOB-Feldern keine Temp-Tables benötigt.
Also ist noch nicht mal die Behauptung "bei jedem read von TEXT/BLOB werden Temp-Tables verwendet" gültig.
Aber Deine Behauptung ging ja viel weiter: die Temp-Tables sollen ja auch bei "writes" (also INSERT, UPDATE und streng genommen DELETE) genutzt werden. Und das ist und bleibt Bockmist.

Ich erwarte allerdings keine Entschuldigung. Sondern nur endlich mal die Einsicht, dass Du falsch liegst. Und hier kommst Du mit Deinem üblichen "EOD" wenn Dir die Argumente ausgehen nicht raus.

huschi.
 
Daher auch meine Frage ob Du echte Performance-Probleme hast oder nicht.

huschi.

Hallo Huschi, Nein momentan habe ich keine Performance Probleme.


Nur ich würde gerne verstehen, warum da einige Werte so aus dem Ruder laufen zumal der Server momentan nur 10% an Aufgaben erhalten hat, wie er später einmal haben wird.

Also wie gesagt. Der rennt echt ziemlich schnell aber man will ja auch noch weiter was lernen und das Wissen vertiefen.
 
Welche Werte meinst Du konkret (außer der table-cache-hit-rate), denn Du redest im Plural?
Du musst natürlich bedenken, dass die letzte Version von mysqltuner über 2 1/2 Jahre alt ist, während Du die neueste MySQL-Version nutzt.

Inzwischen offensichtlicher Fehler:
Der mysqltuner errechnet die Table-Cache-Hits aus Open_table und Opened_table. Aber Deine MySQL-Version bringt bereits konkretere Infos mit:
Table_open_cache_hits und Table_open_cache_misses. (Siehe Deine Ausgabe von "SHOW GLOBAL STATUS".) Und Deine Werte sehen ganz passabel aus.

Fazit:
Auch die Ausgabe von mysqltuner muss kritisch hinterfragt werden.

huschi.
 
Du musst natürlich bedenken, dass die letzte Version von mysqltuner über 2 1/2 Jahre alt ist, während Du die neueste MySQL-Version nutzt.

...

Fazit:
Auch die Ausgabe von mysqltuner muss kritisch hinterfragt werden.

huschi.
Betrifft diese 'Altersschwäche' auch tuning-primer?
 
Welche Werte meinst Du konkret (außer der table-cache-hit-rate), denn Du redest im Plural?

Also ich meine Query Cache Size und Joins performed without indexes


Die Query Cache Anzeige stimmt soweit überein mit meiner Ausgabe aus Munin.

Nach der Doku sollte man nicht höher als 128 MB gehen, da es sonst zu Performance Einbussen kommen kann.
Ich bin bei 512 MB und das reicht immer noch nicht.

Senke ich den Wert schießen die Query cache prunes per day hoch aber richtig heftig :)

Ich denke das kostet dann wirklich Performance.

Klar kann ich dem auch 1 GB geben und momentan wird man sicher überhaupt nichts an der Geschwindigkeit feststellen.

Aber wenn ich meine beiden größten Projekte darauf dann laufen lasse, kann das schon anders aussehen.
 
Eine solche Optimierung wie Du sie brauchst, kann man auch nur machen, wenn auf dem Server die "größeren Projekte" laufen. Vorher kann man lediglich schätzen und raten.

Zum Query-Cache:
Evtl. ist der Server ein Kandidat für "kein Query-Cache". ;)
Das wirst Du halt testen müssen sobald es soweit ist.

huschi.
 
Zum Query-Cache:
Evtl. ist der Server ein Kandidat für "kein Query-Cache". ;)

Ach stimmt ja. Die Möglichkeit hatte ich hier ja auch mal in den Raum gestellt, dass da Leute mit einer so neuen MYSQL Version gute Erfahrungen gemacht haben.

Ich werde es wohl einfach mal testen müssen :)
 

Okay, meine Frage war vllt. ein bissel blöd formuliert...
Das Datum des letzten Releases aus 2011 war mir bekannt, die explizitere Frage hätte hier heißen müssen: Sind die Aussagen von tuning-primer mit ähnlicher Vorsicht zu genießen?
Ich denke mal ja, mit derselben Begründung wie bei mysqltuner.

Ergänzende Frage:
Gibt es Alternativen zu mysqltuner bzw. tuning-primer, welche dem aktuellen Entwicklungsstand von MySQL entsprechen?
 
Ja, die Aussagen sind gleichermaßen zu bewerten.

phpMyAdmin kann in den aktuelleren Versionen auch einige "Tipps" geben. Im Prinzip kannst du dir aber auch einfach ~alle Statusvariablen anschauen und diese analysieren - ist halt ein wenig aufwendiger.
 
... und es bestätigt wieder die "allgemeine Grundaussage", daß man einen DB-Server nicht nach Standard-Rezept optimieren kann und daß er idealerweise zum Begin der Optimierung schon all das bereitstellen sollte, was denn da noch kommt.

... und daß man den Spaß regelmäßig wieder neu machen darf, wenn Datenmengen wachsen, sich die Codebasis der drauf zugreifenden Applikationen geändert hat, ...
 
Back
Top