CyberTek - the future at the present!
Google

Оптимизирането на MySQL

Публикувано от: Админ (19 юни)

Да не говорим сега как да създавате таблици, оптимизирани да даде по-добри резултати. Аз само не забравяйте, че индексира области значително подобряване на време за изпълнение. Ние ще говорим вместо няколко малки мерки за подобряване на работата, че MySQL обикновено е инсталиран в повечето дистрибуции без много параметри настройка. Информацията се отнася за дистрибуцията Linux, но може лесно да се адаптират към други OS.

Конфигурационния файл обикновено се намери в / и т.н. / my.ini.

Eempio на my.ini:

[Mysqld]
datadir = / Var / ИЪ / MySQL
сокет / Var / ИЪ / MySQL / mysql.sock
настройка променлива = ключови буфер = 64M
настройка променлива = max_user_connections = 100
настройка променлива = query_cache_size = 64M
# По подразбиране да използва стария формат парола за съвместимост с MySQL 3.x
# Клиенти (mysqlclient10 тези, които използват съвместимост опаковка).
old_passwords = 1

[Mysql.server]
Потребителски = MySQL
basedir = / Var / ИЪ

[Mysqld_safe]
заблуждават-регистър = / Var / Вход / mysqld.log
PID файл / Var / Run / mysqld / mysqld.pid

буфери: чрез увеличаване на буфера от всяка една база данни, ще получите много по-бързо. След това настройте буфери на базата на размера на наличната памет, като се има предвид, направени от операционната система и други приложения и услуги в употреба. Ако разпределят твърде много памет, въпреки че не е налице, можете да изпълнявате в влошаване на цялостното представяне на системата.

Wait_timeout: представлява времето, което изтича преди една връзка е затворена автоматично поради бездействие MySQL. По-малък брой означава по-добри резултати. В този случай трябва да играят вида на връзката и техните очаквания срок на полезен живот към по-добро калибриране на параметър.

back_log: контролира колко много едновременни връзки могат да издържат на MySQL при създаването на нови теми. По-нисък е броят, толкова по-голяма скорост. Внимание не е лесно да се намали производителността чрез създаването на този параметър правилно, да я използват само когато е абсолютно наложително.

Max_user_connections: определя максималния брой едновременни връзки позволи на потребителя. Той е много полезен в системи, където MySQL имат достъп до един и същ сървър няколко потребители едновременно.

Delayed_queue_size: брой на редовете, приложена с INSERT забавено. Малко редове ще бъдат приложени, толкова по-бързо MySQL.

Sort_buffer_size: Задайте буфер размера за изпълнението на клаузите ОТ ред и GROUP BY. За да направите най-ефикасният заявка следва да определят този параметър на стойност по-голяма от 2M.

Table_cache: контролира броя на отворените таблици за всички теми, увеличаване на тази променлива, таблиците натоварени едновременно и да увеличат производителността на MySQL е много по-бързо. Внимание на този параметър, операционни системи имат лимит на насоки по отношение на досиетата могат да бъдат отворени едновременно, ако надвишат този лимит може да се направи система аномалия.

Thread_cache_size: Задава броя на темата да се запази в кеш. Тази функция прави използването на конци много бързо.

В покажат състоянието команда ни помага да се следи в реално време, онези променливи, които повечето от останалите ни помогне да разберем кои са най-значителни подобрения можем да направим:

  • Handler_read_first: колко пъти на първия запис, беше прочетено от индекса в таблица. Ако това се случи често, това означава, че таблицата не е индексиран правилно.
  • Innodb_buffer_pool_wait_free: Броят на MySQL пъти трябва да изчакате за промиване на паметта страници. Ако върнатата стойност е висока тогава размер буфер басейн не е конфигуриран правилно за сумата от напишете операции, извършени с сървъра.
  • Key_reads: Колко пъти на файловата система за достъп до базата данни MySQL индекси. Това забавя скоростта на заявка за изпълнение, така че ако тази стойност е висока тогава това означава, че ключът буфер е прекалено малък и трябва да се увеличи.
  • Max_used_connections: показва максималния брой връзки, които MySQL трябваше да бъдат отворени едновременно през последните обувка. Първият представлява истинска референтна стойност (помага да се определи максималния брой връзки на сървъра може да подкрепи), а другото е представен като един практически анализатор на трафика.
  • Open_tables: Показва текущия брой на отворени таблици. Тази стойност трябва да се анализира в комбинация с размер на кеша на таблицата. Обикновено размерът на table_cache трябва да бъде по-голяма от тази променлива. Ако стойността е много по-ниски от open_tables table_cache да се избегнат проблеми с производителността, следва да се намали размера на кеша. Ако стойността на open_tables е много висока и в близост до размер на кеша след това трябва да увеличи table_cache.
  • Select_full_join: Броят на пълен присъедини към MySQL е изпълнявал да отговори клиентски заявки. А високата стойност показва, че вместо да използват индекси, MySQL е бил принуден да извърши пълна присъедини. Това предполага необходимостта от силен индекс на тези таблици.
  • Slow_queries: Броят на запитвания, че отне повече време от обичайното за изпълнение. Висока стойност трябва да ни води да анализира Бавен въпрос дънер да идентифицира каква е бавен заявки за оптимизиране.
  • Threads_connected: общият брой на клиентите, които са свързани към сървър в такъв момент.
  • Created_tmp_disk_tables: Броят на временни таблици, които са създадени на диск вместо памет. Като се има предвид, че достъпът таблицата на диска операцията е обикновено по-бавно от в паметта, съдържанието на променливата е обратно пропорционална на скоростта, с която се изпълняват заявки за да се създаде временен таблица.
  • Uptime: Показва колко секунди на услугата е активна.
Публикувано в: MySQL , съвети

Добави коментар

Спам защита от WP Captcha-Free

Осъществено от Cybertek - Отдалечена помощ