CyberTek - the future at the present!
Google

Оптимізація MySQL

Розмістив: Admin (19 червня)

Немає часу на розмови про те, як створювати таблиці оптимізовані дати найкращі результати. Я пам'ятаю тільки те, що поля індексуватися значно покращити виконання часу. Обговорення замість трохи уловка з метою більш ефективного MySQL, які, як правило, приходить встановлений на більшості дістро без надто багато параметрів для налаштування. Інформація передати дистрибутив Linux, але може бути легко адаптована до інших ОС.

Конфігураційний файл, як правило, в / ETC / my.ini.

Eempio в my.ini:

[mysqld]
datadir = / VAR / LIB / MySQL
сокет = / VAR / LIB / MySQL / mysql.sock
набір змінних key_buffer = = 64m
набір змінних max_user_connections = = 100
набір змінних query_cache_size = = 64m
# За замовчуванням використовувати старий пароль формату для сумісності з MySQL 3.x
# Клієнтів (тих, хто користується mysqlclient10 сумісності пакета).
old_passwords = 1

[mysql.server]
Користувач = MySQL
basedir = / VAR / LIB

[mysqld_safe]
ERR-журнал = / VAR / Журнал / mysqld.log
PID-файл = / VAR / запустити / mysqld / mysqld.pid

буферів: буфер будь-який incremeto отримає базу даних значно швидше. Потім встановіть буфер засновані на кількості доступної пам'яті, з урахуванням споживання виступив операційної системи та інших програм і послуг, що перебувають в експлуатації. Якщо виділити занадто багато пам'яті, а не положення може запустити в загальну продуктивність системи.

Wait_timeout: являє собою час, який проходить, перш ніж вона закрита автоматично підключитися до MySQL з-за бездіяльності. Менше число краще продуктивність. У цьому випадку ви також повинні грати видом з'єднань і їх передбачуваного часу для калібрування кращих параметрів.

back_log: контролює, скільки одночасних підключень може зберегти хоча Mysql створює нову ланцюжок. Чим менше число, тим вище швидкість. Стережися, це просто, щоб не погіршити продуктивність, встановивши цей параметр правильно, використовуйте це тільки в разі крайньої необхідності.

Max_user_connections: Встановлює максимальну кількість з'єднань дозволили користувача. Це дуже корисно в системах, де один і той же сервер MySQL користувачам мати доступ одночасно.

Delayed_queue_size: число строк разом з INSERT DELAYED. Менше буде уздовж ліній, тим швидше MySQL.

Sort_buffer_size: встановлює розмір буфера, що виділяються на реалізацію положень ORDER BY і GROUP BY положення. Для того, щоб питання більш ефективного її встановити цей параметр на значення більше 2М.

Table_cache: контроль кількості відкритих таблиць для всіх потоків, збільшення цієї змінної буде збільшуватися таблиці завантажуються одночасно і виконання Mysql буде набагато швидше. Увага до цього параметру, операційні системи мають межа покажчиків до файлів відкрили відразу, якщо ви перевищили цей ліміт може понести в будь-якої несправності в системі.

Thread_cache_size: Встановлює число ниток зберігати в кеші. Ця особливість дозволяє використовувати нитки дуже швидко.

SHOW СТАТУС команду допомагає нам відслідковувати в режимі реального часу ті змінні, які більше, ніж інші, щоб допомогти нам зрозуміти, які найбільш істотні покращення ми можемо зробити:

  • 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: вказується кількість тимчасових таблиць, які були створені на диску замість пам'яті. Оскільки доступ до таблиць на диску, як правило, повільніше, ніж в пам'яті, вміст змінної буде назад пропорційна швидкості, з якою запити запущені команди CREATE тимчасової таблиці.
  • Uptime: Показує, скільки секунд на службі.
Опубліковано в: MySQL, поради

Додати коментар

Powered By CyberTek - Віддалений помічник