Hallo,
Ich betreibe eine Website mit Suchfunktion; es handelt sich um einen Root-Server
(bei Hosteurope, HE L,Dell PE 750, SuSE 9.1, PIV 2,8 GHz/1MB, 1024MB RAM, PHP Version 4.3.4), habe eine mysql-Datenbank mit > 200'000 Sätzen (FULLTEXT-Search, mysql Version 4.0.18 ), ca. 3000 Users pro Tag.
Und nun zum Problem: Die Antwortzeiten sind des öfteren inakzeptabel; eine Suchanfrage dauert
manchmal ein paar Sekunden, manchmal sogar ein paar Minuten und manchmal funktionieren
gar keine Suchanfragen mehr (--> can't connect to database).
Die Datenbank-Tables sind indexiert, ich glaube nicht, dass ich die Zugriffs-Statements noch optimieren könnte. Ich vermute (hoffe...) , man kann mySQL aber noch optimieren, es gibt ja
mit dem Befehl 'Show Status' Dutzende von Variablen, an denen man wahrscheinlich 'herumschrauben' kann. Kennt sich jemand damit aus ? Kann man ev. Caches vergrössern ? Ich kenne mich da leider überhaupt nicht aus.
Wäre toll, wenn ich durch einen kleinen Eingriff die Zugriffszeiten verkürzen könnte.
Danke, Philipp
P.S. Ich erlaube mir, hier die 'show status' variablen aufzulisten:
Aborted_clients 55
Aborted_connects 33
Bytes_received 77772995
Bytes_sent 3739625320
Com_admin_commands 121
Com_alter_table 0
Com_analyze 0
Com_backup_table 0
Com_begin 372
Com_change_db 105755
Com_change_master 0
Com_check 0
Com_commit 372
Com_create_db 0
Com_create_function 0
Com_create_index 0
Com_create_table 80
Com_delete 165
Com_delete_multi 0
Com_drop_db 0
Com_drop_function 0
Com_drop_index 0
Com_drop_table 80
Com_flush 19
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_insert 36558
Com_insert_select 1167
Com_kill 0
Com_load 0
Com_load_master_data 0
Com_load_master_table 0
Com_lock_tables 45133
Com_optimize 20
Com_purge 0
Com_rename_table 0
Com_repair 105
Com_replace 37
Com_replace_select 2
Com_reset 0
Com_restore_table 0
Com_revoke 0
Com_rollback 0
Com_savepoint 0
Com_select 269305
Com_set_option 102
Com_show_binlog_events 0
Com_show_binlogs 0
Com_show_create 102
Com_show_databases 5
Com_show_fields 278
Com_show_grants 0
Com_show_keys 0
Com_show_logs 2
Com_show_master_status 0
Com_show_new_master 0
Com_show_open_tables 0
Com_show_processlist 30
Com_show_slave_hosts 0
Com_show_slave_status 0
Com_show_status 7
Com_show_innodb_status 0
Com_show_tables 422
Com_show_variables 5
Com_slave_start 0
Com_slave_stop 0
Com_truncate 6
Com_unlock_tables 52358
Com_update 149827
Connections 76094
Created_tmp_disk_tables 73718
Created_tmp_tables 118885
Created_tmp_files 796
Delayed_insert_threads 0
Delayed_writes 0
Delayed_errors 0
Flush_commands 1
Handler_commit 0
Handler_delete 41190
Handler_read_first 44073
Handler_read_key 1625839
Handler_read_next 120459703
Handler_read_prev 0
Handler_read_rnd 4887438
Handler_read_rnd_next 20211483
Handler_rollback 0
Handler_update 179504
Handler_write 18082161
Key_blocks_used 15586
Key_read_requests 789139887
Key_reads 284035
Key_write_requests 19025107
Key_writes 45994
Max_used_connections 100
Not_flushed_key_blocks 8004
Not_flushed_delayed_rows 0
Open_tables 114
Open_files 223
Open_streams 0
Opened_tables 128449
Questions 738278
Qcache_queries_in_cache 0
Qcache_inserts 0
Qcache_hits 0
Qcache_lowmem_prunes 0
Qcache_not_cached 0
Qcache_free_memory 0
Qcache_free_blocks 0
Qcache_total_blocks 0
Rpl_status NULL
Select_full_join 0
Select_full_range_join 0
Select_range 6939
Select_range_check 0
Select_scan 108058
Slave_open_temp_tables 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 6640
Sort_merge_passes 420
Sort_range 807
Sort_rows 4937160
Sort_scan 34248
Table_locks_immediate 1019951
Table_locks_waited 9901
Threads_cached 0
Threads_created 76093
Threads_connected 101
Threads_running 96
Uptime 181370
Ich betreibe eine Website mit Suchfunktion; es handelt sich um einen Root-Server
(bei Hosteurope, HE L,Dell PE 750, SuSE 9.1, PIV 2,8 GHz/1MB, 1024MB RAM, PHP Version 4.3.4), habe eine mysql-Datenbank mit > 200'000 Sätzen (FULLTEXT-Search, mysql Version 4.0.18 ), ca. 3000 Users pro Tag.
Und nun zum Problem: Die Antwortzeiten sind des öfteren inakzeptabel; eine Suchanfrage dauert
manchmal ein paar Sekunden, manchmal sogar ein paar Minuten und manchmal funktionieren
gar keine Suchanfragen mehr (--> can't connect to database).
Die Datenbank-Tables sind indexiert, ich glaube nicht, dass ich die Zugriffs-Statements noch optimieren könnte. Ich vermute (hoffe...) , man kann mySQL aber noch optimieren, es gibt ja
mit dem Befehl 'Show Status' Dutzende von Variablen, an denen man wahrscheinlich 'herumschrauben' kann. Kennt sich jemand damit aus ? Kann man ev. Caches vergrössern ? Ich kenne mich da leider überhaupt nicht aus.
Wäre toll, wenn ich durch einen kleinen Eingriff die Zugriffszeiten verkürzen könnte.
Danke, Philipp
P.S. Ich erlaube mir, hier die 'show status' variablen aufzulisten:
Aborted_clients 55
Aborted_connects 33
Bytes_received 77772995
Bytes_sent 3739625320
Com_admin_commands 121
Com_alter_table 0
Com_analyze 0
Com_backup_table 0
Com_begin 372
Com_change_db 105755
Com_change_master 0
Com_check 0
Com_commit 372
Com_create_db 0
Com_create_function 0
Com_create_index 0
Com_create_table 80
Com_delete 165
Com_delete_multi 0
Com_drop_db 0
Com_drop_function 0
Com_drop_index 0
Com_drop_table 80
Com_flush 19
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_insert 36558
Com_insert_select 1167
Com_kill 0
Com_load 0
Com_load_master_data 0
Com_load_master_table 0
Com_lock_tables 45133
Com_optimize 20
Com_purge 0
Com_rename_table 0
Com_repair 105
Com_replace 37
Com_replace_select 2
Com_reset 0
Com_restore_table 0
Com_revoke 0
Com_rollback 0
Com_savepoint 0
Com_select 269305
Com_set_option 102
Com_show_binlog_events 0
Com_show_binlogs 0
Com_show_create 102
Com_show_databases 5
Com_show_fields 278
Com_show_grants 0
Com_show_keys 0
Com_show_logs 2
Com_show_master_status 0
Com_show_new_master 0
Com_show_open_tables 0
Com_show_processlist 30
Com_show_slave_hosts 0
Com_show_slave_status 0
Com_show_status 7
Com_show_innodb_status 0
Com_show_tables 422
Com_show_variables 5
Com_slave_start 0
Com_slave_stop 0
Com_truncate 6
Com_unlock_tables 52358
Com_update 149827
Connections 76094
Created_tmp_disk_tables 73718
Created_tmp_tables 118885
Created_tmp_files 796
Delayed_insert_threads 0
Delayed_writes 0
Delayed_errors 0
Flush_commands 1
Handler_commit 0
Handler_delete 41190
Handler_read_first 44073
Handler_read_key 1625839
Handler_read_next 120459703
Handler_read_prev 0
Handler_read_rnd 4887438
Handler_read_rnd_next 20211483
Handler_rollback 0
Handler_update 179504
Handler_write 18082161
Key_blocks_used 15586
Key_read_requests 789139887
Key_reads 284035
Key_write_requests 19025107
Key_writes 45994
Max_used_connections 100
Not_flushed_key_blocks 8004
Not_flushed_delayed_rows 0
Open_tables 114
Open_files 223
Open_streams 0
Opened_tables 128449
Questions 738278
Qcache_queries_in_cache 0
Qcache_inserts 0
Qcache_hits 0
Qcache_lowmem_prunes 0
Qcache_not_cached 0
Qcache_free_memory 0
Qcache_free_blocks 0
Qcache_total_blocks 0
Rpl_status NULL
Select_full_join 0
Select_full_range_join 0
Select_range 6939
Select_range_check 0
Select_scan 108058
Slave_open_temp_tables 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 6640
Sort_merge_passes 420
Sort_range 807
Sort_rows 4937160
Sort_scan 34248
Table_locks_immediate 1019951
Table_locks_waited 9901
Threads_cached 0
Threads_created 76093
Threads_connected 101
Threads_running 96
Uptime 181370