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

12 3
S
На сайте с 26.10.2005
Offline
100
2345

Есть свой dedicated сервер, на нем две VPSки. На одной из них нагрузка около 2000 хостов в сутки.

конфиг такой:

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

max_connections = 150

wait_timeout = 20000

interactive_timeout = 20000

skip-external-locking

key_buffer_size = 32M

query_cache_size = 128M

join_buffer_size = 8M

tmp_table_size = 64M

max_heap_table_size = 64M

thread_cache_size = 4

max_allowed_packet = 1M

table_cache = 30720

#table_open_cache = 64000

sort_buffer_size = 256K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 128K

#default-character-set = cp1251

init_connect = "SET NAMES 'cp1251'"

long_query_time = 10

log-slow-queries = /var/log/mysqld-slow-query.log

log-queries-not-using-indexes

skip-bdb

skip-innodb

Память на сервере:

Mem: 2098968k total, 576912k used, 1522056k free, 0k buffers

Запустил mysqltuner.pl вот что выдал

-------- General Statistics --------------------------------------------------

[--] Skipped version check for MySQLTuner script

[OK] Currently running supported MySQL version 5.0.95-log

[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM

-------- Storage Engine Statistics -------------------------------------------

[--] Status: -Archive -BDB -Federated -InnoDB -ISAM -NDBCluster

[--] Data in MyISAM tables: 4G (Tables: 1957)

[--] Data in MEMORY tables: 762K (Tables: 6)

[!!] Total fragmented tables: 105

-------- Security Recommendations -------------------------------------------

[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------

[--] Up for: 25d 0h 17m 48s (131M q [60.941 qps], 6M conn, TX: 1B, RX: 1B)

[--] Reads / Writes: 75% / 25%

[--] Total buffers: 234.0M global + 8.9M per thread (150 max threads)

[OK] Maximum possible memory usage: 1.5G (76% of installed RAM)

[OK] Slow queries: 2% (3M/131M)

[OK] Highest usage of available connections: 44% (66/150)

[OK] Key buffer size / total MyISAM indexes: 32.0M/837.3M

[OK] Key buffer hit rate: 99.9% (63B cached / 76M reads)

[OK] Query cache efficiency: 55.6% (48M cached / 87M selects)

[!!] Query cache prunes per day: 209257

[!!] Sorts requiring temporary tables: 30% (1M temp sorts / 4M sorts)

[!!] Joins performed without indexes: 137119

[OK] Temporary tables created on disk: 16% (898K on disk / 5M total)

[OK] Thread cache hit rate: 90% (598K created / 6M connections)

[OK] Table cache hit rate: 86% (2K open / 3K opened)

[OK] Open file limit used: 7% (4K/61K)

[OK] Table locks acquired immediately: 98% (64M immediate / 65M locks)

[!!] Connections aborted: 6%

-------- Recommendations -----------------------------------------------------

General recommendations:

Run OPTIMIZE TABLE to defragment tables for better performance

Adjust your join queries to always utilize indexes

Your applications are not closing MySQL connections properly

Variables to adjust:

query_cache_size (> 128M)

sort_buffer_size (> 256K)

read_rnd_buffer_size (> 256K)

join_buffer_size (> 8.0M, or always use indexes with joins)

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

У вас сайт тормозит или что?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#2

Во первых Вы немного разделом ошибись, вам скорее всего сюда (думаю модераторы помогут тему перенести).

Ну а дальше, первое что в глаза бросается:


wait_timeout = 20000
interactive_timeout = 20000

Простите зачем?


[!!] Total fragmented tables: 105

надо optimize/repare провести по таблицам.

А буферы как-то вообще выглядят как будто вы скопипастили конфиг где-то ;)

У вас вообще проблема какая-то ? или в чем прикол топика ?? что-то не работает?


[!!] Connections aborted: 6%

Вау? Что это? :) Какие-то оборванные конекшоны ?

Удаленные конекты в этот SQL есть?

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
DV
На сайте с 01.05.2010
Offline
644
#3

Или вопрос, что делать с показаниями mysqltuner.pl ? Если так, то там прямым текстом написано. Крутите, куда скажет. Если доверяете, конечно.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#4
DenisVS:
Или вопрос, что делать с показаниями mysqltuner.pl ? Если так, то там прямым текстом написано. Крутите, куда скажет. Если доверяете, конечно.

Да это бред, рекомендации там вдаются даже если буфер до 10 GB раскрутить, будет писать "Ой, а попробуйте еще больше"....

S
На сайте с 26.10.2005
Offline
100
#5
Romka_Kharkov:

Ну а дальше, первое что в глаза бросается:
wait_timeout = 20000
interactive_timeout = 20000
Простите зачем?

ух точно, поставил 30.

Romka_Kharkov:

надо optimize/repare провести по таблицам.

уже

Romka_Kharkov:

А буферы как-то вообще выглядят как будто вы скопипастили конфиг где-то ;)

а сколько посоветуете поставить?

Romka_Kharkov:

У вас вообще проблема какая-то ? или в чем прикол топика ?? что-то не работает?
Вау? Что это? :) Какие-то оборванные конекшоны ?
Удаленные конекты в этот SQL есть?

вот проблема как раз в оборванных соединениях. Случайно попал на ошибку пока по сайту ползал Can`t creatre new thread (errno 11). Удаленных нет

bugsmoran
На сайте с 18.02.2010
Offline
223
#6

Здесь нет универсальных советов. Делать выбор в пользу той или иной цифры надо по результатам замеров. Но их не сделать, не познакомившись с базовыми понятиями.

Andreyka
На сайте с 19.02.2005
Offline
822
#7

Как я люблю гадание на бобах :)

Не стоит плодить сущности без необходимости
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#8
sstyle:
а сколько посоветуете поставить?

Все зависит от ваших задач , движка, количества данных в базе и многого другого, как сказал комрад bugsmoran, универсальных советов нет. А ссылочку он привел весьма и весьма полезную, что бы понимать что и куда крутить... Добавлю вам еще кусок своего опыта:

/ru/forum/772094

Там много соображений + пояснений, пока разбирался... документировал..... А так на форуме масса тем похожего характера..... Для всех думаете одно и то же решение ? Нефига, у всех свое :D

sstyle:

вот проблема как раз в оборванных соединениях.

Вы не ответили на один из вопросов в моем первом посте, удаленные подключения есть? Если вы подключаетесь к MySQL из вне, проверьте для начала ошибки\коллизии на сетевом интерфейсе.... потому что такого рода ошибка мало вероятно может касаться настроек....

DV
На сайте с 01.05.2010
Offline
644
#9
Romka_Kharkov:
Да это бред, рекомендации там вдаются даже если буфер до 10 GB раскрутить, будет писать "Ой, а попробуйте еще больше"....

На этот случай приписано

DenisVS:
Если доверяете, конечно.

Применение инструментов от сторонних лиц без понимания их работы не гарантирует правильный результат, само собой.

S
На сайте с 26.10.2005
Offline
100
#10
Romka_Kharkov:
Все зависит от ваших задач , движка, количества данных в базе и многого другого, как сказал комрад bugsmoran, универсальных советов нет. А ссылочку он привел весьма и весьма полезную, что бы понимать что и куда крутить... Добавлю вам еще кусок своего опыта:
/ru/forum/772094
Там много соображений + пояснений, пока разбирался... документировал..... А так на форуме масса тем похожего характера..... Для всех думаете одно и то же решение ? Нефига, у всех свое :D


Вы не ответили на один из вопросов в моем первом посте, удаленные подключения есть? Если вы подключаетесь к MySQL из вне, проверьте для начала ошибки\коллизии на сетевом интерфейсе.... потому что такого рода ошибка мало вероятно может касаться настроек....

спасибо почитаю. Удаленных нет, я выше отвечал.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий