powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка mysql-сервера с нуля
13 сообщений из 13, страница 1 из 1
Настройка mysql-сервера с нуля
    #39291640
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, подскажите плиз по ситуации.

Преамбула: Не умею толком конфигурить LAMP, в основном по возникшим проблемам консультируюсь у ГУГЛА. Только вышел на уровень продвинутого ламера, т.е. не боюсь консоли и имею представления о конфигах. Ну и 10 лет программирования PHP+DHTML+MYSQL, просто никогда до последнего времени не интересовался внутренностями хостингов.

А вот проблема:
VDS, LAMP, 5 сайтов, у каждого своя база. Запущен обмен данных со сторонним сервисом, грузит мне на каждый сайт с определенным интервалом XML (CommerceML), mysql падает через определенное время. Как бы я не разводил обмены данных по времени, то один то другой заканчивается ошибкой "Error to connect to mysql". Причем падает не намертво, а вот конкретно обмен упал, а сам сайт продолжает работать спокойно. Перезагрузил mysql ("service mysqld restart") - часов 12 всё работает нормально, обмены данными работают. А потом опять начинают один за другим давать "Error to connect to mysql".

my.cnf - был абсолютно дефолтным. Белый лист бумаги.

Начал читать документацию по настройке и лайфхаки по кофигурированию и применять что куда надо увеличивать.

Единственное что сработало положительно (увеличило время между перезагрузками mysql до 24 часов) это изменение параметра "thread_cache_size" с "0" до "16".

А вот дальше я понял что надо подходить "по-взрослому". Отсюда вопросы:
1) Как отдиагностировать правильность настройки mysql? Понравилось что у битрикса есть утилита которая показывает где, чего и какой параметр нужно увеличить/уменьшить. А нет ли такого софта под линукс вообще, для диагностики?

2) Прописал в my.cnf строку
log_error = /var/log/mysql/mysql.err
в /var/log/mysql уже вторую неделю пусто. Почему? Что мешает создавать файл с ошибками?

3) Подскажите пожалуйста, вообще какие параметры полезно посмотреть. Такое ощущение что mysql-сервер коннекты не закрывает и при привышении определенного количества падает. Но блин тогда бы он упал и лежал, а тут просто через раз клиенту отвечает.
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39291646
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292042
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stardg1) Как отдиагностировать правильность настройки mysql?


Диагносцировать очень просто: mysql выполняет Вашу задачу с достаточным запасом - все нормально.

stardgПонравилось что у битрикса есть утилита которая показывает где, чего и какой параметр нужно увеличить/уменьшить.


Они, битриксы, сделали настройку mysql автоматическоу в веб-окружении - некторые параметры выставляются в зависимости от размера памяти. И в самой CMS есть проверка настроек и рекомендации.

stardgА нет ли такого софта под линукс вообще, для диагностики?


Диагностики чего именно? "Правильно поставленный вопрос сожержит в себе половину ответа"(с) народная мудрость.

stardg2) Прописал в my.cnf строку
log_error = /var/log/mysql/mysql.err
в /var/log/mysql уже вторую неделю пусто. Почему? Что мешает создавать файл с ошибками?


Чаще всего, настройки вступают в силу после перезагрузки mysql. То есть, мускул не читает my.cnf при каждом запросе или раз в секунду, это будет слишком накладно. Мускул читает кунфиг при старте.

stardg3) Подскажите пожалуйста, вообще какие параметры полезно посмотреть. Такое ощущение что mysql-сервер коннекты не закрывает и при привышении определенного количества падает. Но блин тогда бы он упал и лежал, а тут просто через раз клиенту отвечает.


Ощущения субьективны, скорее всего, их нужно проверять обьективными данными. Например, выполнив консоли
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292044
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mysql -B -uroot -pMyPass -e "SHOW PROCESSLIST"

Вы увидите сколько активно соединений и чем конкретно занят каждый процесс.
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292243
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow http://mysqltuner.com/

Вот что я получил от этой софтины (кстати спасибо за неё!)

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
[root@11718 ~]# perl mysqltuner.pl
 >>  MySQLTuner 1.6.15 - Major Hayden <major@mhtx.net>;
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: [OK] Currently running supporte                                                                             d MySQL version 5.1.73-log
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics ---------------------------------------------                                                                             --------------------
[--] Status: +CSV +InnoDB +MRG_MYISAM
[--] Data in MyISAM tables: 33M (Tables: 500)
[--] Data in InnoDB tables: 560K (Tables: 35)
[OK] Total fragmented tables: 0

-------- Security Recommendations ----------------------------------------------                                                                             --------------------
[OK] There are no anonymous accounts for any database users
[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE (pa                                                                             ssword = '' OR password IS NULL) AND plugin NOT IN ('unix_socket', 'win_socket')
[!!] FAIL Execute SQL / return code: 256
[OK] All database users have passwords assigned
[!!] User 'такойто юзер' hasn't specific host restriction.
[!!] User 'такойто юзер' hasn't specific host restriction.
[--] There are 605 basic passwords in the list.

-------- CVE Security Recommendations ------------------------------------------                                                                             --------------------
[OK] NO SECURITY CVE FOUND FOR YOUR VERSION

-------- Performance Metrics ---------------------------------------------------                                                                             --------------------
[--] Up for: 28s (1K q [44.893 qps], 12 conn, TX: 347K, RX: 98K)
[--] Reads / Writes: 99% / 1%
[--] Binary logging is disabled
[--] Physical Memory     : 1004.1M
[--] Max MySQL memory    : 181.7M
[--] Other process memory: 318.0M
[--] Total buffers: 59.0M global + 832.0K per thread (151 max threads)
[--] P_S Max memory usage: 0B
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 62.2M (6.20% of installed RAM)
[OK] Maximum possible memory usage: 181.7M (18.10% of installed RAM)
[OK] Overall possible memory usage with other process is compatible with memory                                                                              available
[OK] Slow queries: 1% (21/1K)
[OK] Highest usage of available connections: 2% (4/151)
[!!] Aborted connections: 16.67%  (2/12)
[!!] name resolution is active : a reverse name resolution is made for each new                                                                              connection and can reduce performance
[!!] Query cache efficiency: 1.7% (20 cached / 1K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 166 sorts)
[OK] No joins without indexes
[OK] Temporary tables created on disk: 0% (0 on disk / 7 total)
[OK] Table cache hit rate: 85% (42 open / 49 opened)
[OK] Open file limit used: 7% (80/1K)
[OK] Table locks acquired immediately: 100% (1K immediate / 1K locks)

-------- Performance schema ----------------------------------------------------                                                                             --------------------
[--] Performance schema is disabled.

-------- ThreadPool Metrics ----------------------------------------------------                                                                             --------------------
[--] ThreadPool stat is disabled.

-------- MyISAM Metrics --------------------------------------------------------                                                                             --------------------
[!!] Key buffer used: 18.9% (198K used / 1M cache)
[OK] Key buffer size / total MyISAM indexes: 1.0M/13.2M
[OK] Read Key buffer hit rate: 98.9% (6K cached / 76 reads)

-------- AriaDB Metrics --------------------------------------------------------                                                                             --------------------
[--] AriaDB is disabled.

-------- InnoDB Metrics --------------------------------------------------------                                                                             --------------------
[--] InnoDB is enabled.
[OK] InnoDB buffer pool / data size: 8.0M/560.0K
[!!] InnoDB Used buffer: 4.49% (23 used/ 512 total)
[OK] InnoDB Read buffer efficiency: 94.95% (301 hits/ 317 total)
[!!] InnoDB Write Log efficiency: 0% (2 hits/ 0 total)
[OK] InnoDB log waits: 0.00% (0 waits / 2 writes)

-------- TokuDB Metrics --------------------------------------------------------                                                                             --------------------
[--] TokuDB is disabled.

-------- Galera Metrics --------------------------------------------------------                                                                             --------------------
[--] Galera is disabled.

-------- Replication Metrics ---------------------------------------------------                                                                             --------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] This is a standalone server.

-------- Recommendations -------------------------------------------------------                                                                             --------------------
General recommendations:
    Restrict Host for user@% to user@SpecificDNSorIp
    MySQL started within last 24 hours - recommendations may be inaccurate
    Reduce or eliminate unclosed connections and network issues
    Configure your accounts with ip or subnets only, then update your configurat                                                                             ion with skip-name-resolve=1
Variables to adjust:
    query_cache_limit (> 1M, or use smaller result sets)



Я так понимаю что софтина считает что косяк только с query_cache_limit ?
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292247
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stardg
Код: powershell
1.
Up for: 28s

через 28 секунд работы что-то смотреть мало толку, надо хотя бы через часик, а лучше через день-другой после старта MySQL.
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292328
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, да. за 6 часов аптайма ситуация изменилась, уже:

Код: powershell
1.
2.
3.
Variables to adjust:
    query_cache_size (> 32M)
    table_open_cache (> 64)
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292329
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VGrey, больше 100 процессов висят постоянно со статусом Sleep - что это может значить?
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292331
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stardgVGrey, больше 100 процессов висят постоянно со статусом Sleep - что это может значить?
Начался обмен данных уже более 200 Sleep висят постоянно, а ID последнего процесса 980 - то есть какието процессы закрываются после выполнения а какието нет?
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292339
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stardg,
Если Вы писали код, просмотрите его на предмет закрытия соединений. Если нет:
1) включите лог запросов, которые долго выполняются:
Код: sql
1.
long_query_time = 2


2) через время, например, через сутки, посмотрите что у Вас там. Если особых проблем нет, установите wait_timeout значение большее с запасом чем самый долгоиграющий запрос. Должно слегка попустить со Sleep.
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292344
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stardg, еще, mysqltuner.pl и tuning-primer.sh дают отличную статистику работы mysql, но я советую Вам очень хорошо подумать перед тем, как выполнять их рекомендации. Если Вы бездумно будете им следовать, у Вас есть все шансы получить неработоспособную систему.

---
Виктор
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292382
stardg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VGrey stardg, еще, mysqltuner.pl и tuning-primer.sh дают отличную статистику работы mysql, но я советую Вам очень хорошо подумать перед тем, как выполнять их рекомендации. Если Вы бездумно будете им следовать, у Вас есть все шансы получить неработоспособную систему.

---
Виктор

Понял. Спасибо за рекомендации.
Получил от mysqltuner новые рекомендации после запуска обменов с сайтом
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
General recommendations:
    Restrict Host for user@% to user@SpecificDNSorIp
    MySQL started within last 24 hours - recommendations may be inaccurate
    Dedicate this server to your database for highest performance.
    Reduce or eliminate persistent connections to reduce connection usage
    Reduce or eliminate unclosed connections and network issues
    Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
    Increase table_open_cache gradually to avoid file descriptor limits
    Read this before increasing table_open_cache over 64: http://bit.ly/1mi7c4C
    Beware that open_files_limit (1185) variable
    should be greater than table_open_cache ( 512)
Variables to adjust:
    max_connections (> 151)
    wait_timeout (< 28800)
    interactive_timeout (< 28800)
    table_open_cache (> 512)



Я так понимаю он прав насчет wait_timeout? Нефига ему дефолтным оставаться?
...
Рейтинг: 0 / 0
Настройка mysql-сервера с нуля
    #39292414
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stardgЯ так понимаю он прав насчет wait_timeout? Нефига ему дефолтным оставаться?

Наверно, я это писал совсем не для того, что бы Вы прочитали, а так, от нечего делать...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка mysql-сервера с нуля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]