Стал часто падать MySQL

123
S
На сайте с 11.05.2018
Offline
7
#11

Если буферы недопустимо уменьшать(из-за IO например), то можете установить на сервере swap в zram, это неплохо поможет.

GamletOrtikov
На сайте с 26.08.2011
Offline
95
#12
Steepler:
таблиц в базе данных много? Структуру поврежденной таблице показать можете?

Таблицы стандартные для движков dle, joomla, wordpress

vga1:
/etc/mysql/my.cnf покажите?
[mysqld]
max_allowed_packet=32M
pid-file=/var/run/mysqld/mysqld.pid
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
innodb_file_per_table=1
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d

Я тут в файле mariadb.service добавил строки:

Restart=always
RestartSec=10s

не знаю это ли помогло или нет, но по крайней мере в последние пару дней сайты хотя бы не висят с ошибкой. Знаю, что это в целом не решает проблемы, но хотя бы такой костиль.

Подскажите, если перейти с OpenVZ на KVM с таким же объёмом оперативки, то памяти больше будет оставаться или нет? А то были мысли перейти на KVM на дисках NVMe, может уже пришло время.

---------- Добавлено 15.10.2018 в 17:17 ----------

LEOnidUKG:
Возможно боты начали активно спамить

На трёх новых сайтах, которые я недавно добавил (они на чистом html), посмотрел логи посещения. Там действительно много заходов от ненужных ботов. Наверняка отъедают часть оперативки и поэтому для базы данных её не хватает. Закрыл индексацию через .htaccess и теперь понаблюдаю как изменятся логи сервера базы данных.

Покупаем вкладыши TURBO (https://vk.com/fantiki_turbo)
Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#13

KVM вам поможет если у вас хостер недобросовестный и сдавал вам ресурсы, которых у него реально нет. OpenVZ это позволяет. Но я бы бежал от такого хостера

далеко далеко и чем быстрее, тем лучше. А вот реально поможет или нет зависит от того в чём же реально причина. Мы тут все лишь гадаем, никто не видел

вашего сервера и никто не может знать наверняка.

Restart=always

RestartSec=10s

Автоматически перезапускает службу, если она была остановлена. Так что да, этот костыль вам поможет. Но вам надо устранять причину, а не последствия...

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
vga1
На сайте с 18.02.2007
Offline
251
#14

И это все, что в my.cnf?

поиграйтесь с параметрами

#
[mysqld]

# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#15
vga1:
И это все, что в my.cnf?
поиграйтесь с параметрами

Совет вредный. С параметрами надо не играться, а подбирать опытным путём с обязательным пониманием того, что вы делаете.

ТС вряд ли осилит эту задачу самостоятельно. Также следует отключить InnoDB если оно не используется. А вообще всей ситуации

никто из нас не знает... Я бы порекомендовал ТСу нанять админа, который разберётся в ситуации на конкретном сервере.

Сделать это можно в соответствующем разделе данного форума. Также проблема может быть совсем не по вине сервера...

S
На сайте с 10.03.2008
Offline
94
#16

Посмотрите в какой кодировке текстовые данные записываются в таблицу и установленную кодировку для БД. Может что-то с кодировкой неправильно? У вас в my.cnf не указана кодировка. Когда добавите строчки с указание кодировки не забудьте перезагрузить MySQL.

Разрабатываем сайты (http://www.rclsoft.ru/)
GamletOrtikov
На сайте с 26.08.2011
Offline
95
#17

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

По моей проблеме я сделал следующее:

1. Отключил Innodb - не помогло;

2. Добавил некоторые настройки в my.cnf - не помогло;

3. В процессе заметил, что крон выполняет какие-то задания от панели ISPmanager, которой я уже давно не пользуюсь. Отключил их, думая, что эти процессы съедают память - не помогло;

4. Для обработки статичных файлов "перед" аппачем поставил Nginx - не помогло, но всё равно полезно;

5. И только лишь изменив конфиг аппача httpd.conf и добавив пункты, указанные ниже, отключения базы данных прекратились. А по данным в панели VM-manager количество отказов памяти с 500 с лишним упало ровно до 0, вот уже второй день подряд.

StartServers 2
MinSpareServers 4
MaxSpareServers 8
ServerLimit 15
MaxClients 15
MaxRequestsPerChild 4000

Возможно кому-нибудь пригодится ))

Спасибо всем, кто откликнулся.

S
На сайте с 10.03.2008
Offline
94
#18

Думаю, что не из-за этого. Что до исправления в файле было написано?

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#19

Вы очень жестко лимитировали максимальное число обслуживаемых посетителей одновременно этим вот конфигом. Это не решение, это костыль...

Оптимизайка
На сайте с 11.03.2012
Offline
396
#20

Переходите на KVM вместо OpenVZ и сделайте своп-раздел.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
123

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