sql >> Database teknologi >  >> RDS >> Mysql

InnoDB-ydelsesjusteringer

Din innodb_buffer_pool_size skal indstilles til mængden af ​​InnoDB-data og indekser, du har. Kør denne forespørgsel, og den vil fortælle dig den anbefalede minimumsindstilling for mysqls nuværende Innodb-data

SELECT CONCAT(ROUND(KBS/POWER(1024,IF(pw<0,0,IF(pw>3,0,pw)))+0,49999),SUBSTR(' KMG',IF(pw <0,0,IF(pw>3,0,pw))+1,1)) recommended_innodb_buffer_pool_sizeFROM (SELECT SUM(index_length) KBS FROM information_schema.tables WHEREengine='InnoDB') A,(SELECT 3 pw) B;

Hvis dine InnoDB-data langt overstiger den installerede RAM på DB-serveren, anbefaler jeg 75% af den installerede RAM på boksen. Så hvis du har en 16 GB server, skal du bruge 12G som innodb_buffer_pool_size.

Du skal også indstille innodb_log_file_size til 25% af innodb_buffer_pool_size eller 2047M, alt efter hvad der er mindst. For at ændre filen ib_logfile0 og ib_logfile1, skal du:

mysql -uroot -p -e"SET GLOBAL innodb_fast_shutdown =0;"service mysql stoprm ib_logfile0 ib_logfile1service mysql start 

Hvis du bruger MySQL 5.5, skal du indstille følgende:

innodb_read_io_threads=64innodb_write_io_threads=64innodb_io_capacity=20000 (indstil dette til din enheds IOP'er) 

Hvis du vil beholde MyISAM-data, kør denne forespørgsel for den ideelle indstilling for key_buffer_size:

SELECT CONCAT(ROUND(KBS/POWER(1024,IF(pw<0,0,IF(pw>3,0,pw)))+0,49999),SUBSTR(' KMG',IF(pw <0,0,IF(pw>3,0,pw))+1,1)) recommended_key_buffer_sizeFROM (SELECT SUM(index_length) KBS FROM information_schema.tablesWHERE engine='MyISAM' OG table_schema NOT IN ('information_schema','mysql ')) A,(SELECT 3 pw) B;

OPDATERING 2013-02-13 12:55 EDT

Jeg har på det seneste lært ikke at indstille innodb_io_capacity meget høj, hvis overhovedet. Dette gælder især for råvarehardware og VM'er:




  1. Forbind aws ec2 mysql med min lokale java-applikation

  2. Skift SQL-databasemistænkt tilstand til normal tilstand med forespørgsel

  3. PHP MySQL Google Chart JSON - Komplet eksempel

  4. Tilføjelse af MySQL alias felter sammen