MySQL erzeugt hohen Wait

maxx
Posts: 13
Joined: 2008-11-20 21:20

MySQL erzeugt hohen Wait

Post by maxx »

Hallo,

cooles Forum. Ich habe schon viel probiert, was der Optimierung der MySQL betrifft.
Leider habe ich "noch" recht wenig, geschweige denn überhaupt, Ahnung von den Variablen in der my.cnf

Ich betriebe einen Dienst, der relativ viele Datenbankzugriffe innerhalb einer Sekunde hat.
Dabei werden mehrere Tabellen gefüllt/upgedated (insert into ... on dublicate key ...)
Zwei dieser Tabellen sind schon relativ groß / ca. 500MB Daten und die Indexdateien davon knapp 1GB.

Ich schätze, dass die Indexdateien schon zu groß sind und nicht mehr im Speicher gehalten werden, weshalb der Server andauernd auf die Festplatte rumhämmert.
Meine Load ist momentan immer so bei 0.5 bis 2 und die Wait bei 0 bis 70%.

Ich habe einen E6600 mit 4GB Ram. Und meine my.cnf Einstellungen sind wie folgt:

Code: Select all

key_buffer                              = 1500M
key_buffer_size                         = 2000M
max_allowed_packet                      = 2M
thread_stack                            = 256K
thread_cache_size                       = 32K
table_cache                             = 1M
sort_buffer_size                        = 2M
net_buffer_length                       = 32K
read_buffer_size                        = 2M
read_rnd_buffer_size                    = 2M
myisam_sort_buffer_size                 = 32M
max_connections                         = 10000
max_connect_errors                      = 999999999
connect_timeout                         = 10
thread_concurrency                      = 8
tmp_table_size                          = 512M
max_heap_table_size                     = 512M
thread_cache                            = 1k

query_cache_type                        = 1
query_cache_size                        = 512M
query_cache_limit                       = 4M

low_priority_updates                    = 1
join_buffer_size                        = 2M

local-infile                            = 0
log_warnings                            = 0
long_query_time                         = 4


Hättet ihr noch paar Optimierungstipps? Ich habe bestimmt Werte nache oben korrigiert, die, durch mein Unwissen, das System noch weiter negativ beeinflußen.

Viele Grüße
Maxx
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: MySQL erzeugt hohen Wait

Post by Roger Wilco »

Die Stickies in diesem Unterforum hast du gelesen?

Außerdem mal spaßeshalber http://mysqltuner.pl/mysqltuner.pl herunterladen und laufen lassen.
Top

maxx
Posts: 13
Joined: 2008-11-20 21:20

Re: MySQL erzeugt hohen Wait

Post by maxx »

Hallo und danke für Deine Antwort.

Nein, ich habe immer die direkten Userbeispiele ausprobiert und so die Werte angepasst.

Das ist das Result, wenn ich das Perl Script laufen lasse:

Code: Select all

 >>  MySQLTuner 0.9.9 - Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with '--help' for additional options and output filtering
[!!] Successfully authenticated with no password - SECURITY RISK!

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.42-log
[!!] Switch to 64-bit OS - MySQL cannot currenty use all of your RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive +BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 2G (Tables: 191)
[!!] InnoDB is enabled but isn't being used
[!!] BDB is enabled but isn't being used
[!!] Total fragmented tables: 11

-------- Performance Metrics -------------------------------------------------
[--] Up for: 3h 15m 32s (3M q [308.098 qps], 334K conn, TX: 1B, RX: 437M)
[--] Reads / Writes: 46% / 54%
[--] Total buffers: 2.0G global + 8.2M per thread (10000 max threads)
[!!] Allocating > 2GB RAM on 32-bit systems can cause system instability
[!!] Maximum possible memory usage: 82.4G (2121% of installed RAM)
[OK] Slow queries: 0% (51/3M)
[OK] Highest usage of available connections: 1% (179/10000)
[OK] Key buffer size / total MyISAM indexes: 1.5G/4.0G
[OK] Key buffer hit rate: 99.7% (222M cached / 562K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (12 temp sorts / 313K sorts)
[OK] Temporary tables created on disk: 0% (4 on disk / 64K total)
[OK] Thread cache hit rate: 99% (179 created / 334K connections)
[OK] Table cache hit rate: 25% (764 open / 2K opened)
[OK] Open file limit used: 1% (920/65K)
[OK] Table locks acquired immediately: 99% (2M immediate / 2M locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
    Add skip-innodb to MySQL configuration to disable InnoDB
    Add skip-bdb to MySQL configuration to disable BDB
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours - recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries
Variables to adjust:
  *** MySQL's maximum memory usage exceeds your installed memory ***
  *** Add more RAM before increasing any MySQL buffer variables  ***
    query_cache_size (>= 8M)



Ich muss dazu sagen, dass ich folgende Werte momentan (seit 3h) testhalber deaktiviert habe:

Code: Select all

key_buffer_size
query_cache_type
query_cache_size
query_cache_limit


Viele Grüße
Maxx
Top