Реклама на сайте Advertise with us

Проблема с Redis

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 14.07.08
Сообщения: 1599
Рейтинг: 2022


Передовик Master-X (01.04.2015)
Ссылка на сообщениеДобавлено: 11/12/15 в 21:07       Ответить с цитатойцитата 

Всем привет.

Проблема такая. На сервере стоит Free BSD, nginx, php-fpm.
Сервер для сиджетубов на смартах.

Поставили Redis и php5-redis.

При старте redis сначала всё работает норм:
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 32201
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'

32201:M 11 Dec 15:07:13.558 # Server started, Redis version 3.0.5
32201:M 11 Dec 15:07:13.558 * The server is now ready to accept connections on port 6379
32201:M 11 Dec 15:12:14.075 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 15:12:14.077 * Background saving started by pid 35032
35032:C 11 Dec 15:12:15.142 * DB saved on disk
32201:M 11 Dec 15:12:15.192 * Background saving terminated with success
32201:M 11 Dec 15:17:16.019 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 15:17:16.020 * Background saving started by pid 37936
37936:C 11 Dec 15:17:17.638 * DB saved on disk
32201:M 11 Dec 15:17:17.731 * Background saving terminated with success
32201:M 11 Dec 15:22:18.062 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 15:22:18.063 * Background saving started by pid 40828
40828:C 11 Dec 15:22:20.630 * DB saved on disk
32201:M 11 Dec 15:22:20.677 * Background saving terminated with success
32201:M 11 Dec 15:27:21.028 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 15:27:21.029 * Background saving started by pid 43693
43693:C 11 Dec 15:27:23.837 * DB saved on disk
32201:M 11 Dec 15:27:23.844 * Background saving terminated with success
32201:M 11 Dec 15:32:24.099 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 15:32:24.100 * Background saving started by pid 46592
46592:C 11 Dec 15:32:27.313 * DB saved on disk
32201:M 11 Dec 15:32:27.316 * Background saving terminated with success
32201:M 11 Dec 15:37:28.038 * 1000 changes in 300 seconds. Saving...

Файла дампа редиса растет, всё работает шустро.

Затем вылазит такое, через несколько часов, может и через 3 часа, а может и через 10, от чего зависит не знаю.

2201:M 11 Dec 17:29:57.013 * 1000 changes in 300 seconds. Saving...
32201:M 11 Dec 17:29:57.018 * Background saving started by pid 13562
13562:C 11 Dec 17:30:21.193 * DB saved on disk
32201:M 11 Dec 17:30:21.303 * Background saving terminated with success
32201:M 11 Dec 17:31:09.325 * DB saved on disk
32201:M 11 Dec 17:31:09.705 # Failed opening .rdb for saving: Permission denied
32201:M 11 Dec 17:32:10.071 * 50000 changes in 60 seconds. Saving...
32201:M 11 Dec 17:32:10.075 * Background saving started by pid 15064
15064:C 11 Dec 17:32:10.075 # Failed opening .rdb for saving: Permission denied
32201:M 11 Dec 17:32:10.175 # Background saving error
32201:M 11 Dec 17:32:16.011 * 50000 changes in 60 seconds. Saving...
32201:M 11 Dec 17:32:16.014 * Background saving started by pid 15162
15162:C 11 Dec 17:32:16.014 # Failed opening .rdb for saving: Permission denied
32201:M 11 Dec 17:32:16.114 # Background saving error
32201:M 11 Dec 17:32:22.052 * 50000 changes in 60 seconds. Saving...
32201:M 11 Dec 17:32:22.055 * Background saving started by pid 15178
15178:C 11 Dec 17:32:22.056 # Failed opening .rdb for saving: Permission denied
32201:M 11 Dec 17:32:22.156 # Background saving error
32201:M 11 Dec 17:32:28.089 * 50000 changes in 60 seconds. Saving...
32201:M 11 Dec 17:32:28.092 * Background saving started by pid 15197
15197:C 11 Dec 17:32:28.092 # Failed opening .rdb for saving: Permission denied

При этом файл дампа весит 18байт и туда ничего не пишется, время изменения не меняется.

Redis работает с владельцем Redis, у директории дампа и самого файла дампа тоже владелец Redis.


Пробовали с админами менять владельцев на root, никаких ошибок не возникает, но через несколько часов размер файла дампа тоже становится 18байт, а редис продолжает писать куда-то.
И админ написал вот такое: "хм, что то странное с файловой системой - в файле ключей на сервере были остатки редиса %)"
Админ вычистил, если снова запустить от рута, то через какое-то время снова пишет туда же.

В общем ощущение такое, что через какое-то время redis забывает что ему нужно писать сюда /var/db/redis
и начинает пробовать писать в другое место, но так как прав рута нет, то не может писать, а если запустить редис от рута, то пишет дамп в другое место.

Проверили в дц файловую систему, всё ок, переустановили редис, снова та же беда. С админами уже неделю решаем эту проблему, перезапуская редис постоянно.

Сейчас сменили в конфиге папку дампа с /var/db/redis на /home/redis/
Уже сомневаюсь что поможет конечно.


Подскажите что это может быть и куда копать.

1
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 11/12/15 в 22:41       Ответить с цитатойцитата 

Сюда писать пробовал https://github.com/antirez/redis/issues https://www.reddit.com/r/redis/ https://groups.google.com/forum/#!forum/redis-db ?

Версию ниже текущей пробовал?

В debug mode собирать пробовал?

strace-ом смотреть, куда он пытается писать, пробовал?

Код ведь открытый. Допиши в нужных местах логирование, пересобери и жди пока клюнет.

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

1
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 11/12/15 в 23:32       Ответить с цитатойцитата 

Попробуйте через docker поставить. Может там заработает нормально.
У меня редис для celery используется, сейчас его размер базы посмотрел - 145 байт smail101.gif Но в общем то все задания выполнены , поэтому база и пустая.

Цитата:
И админ написал вот такое: "хм, что то странное с файловой системой - в файле ключей на сервере были остатки редиса %)"

Вообще это и странно. Или очень кривая сборка редиса или что то с файловой системой.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 14.07.08
Сообщения: 1599
Рейтинг: 2022


Передовик Master-X (01.04.2015)
Ссылка на сообщениеДобавлено: 11/12/15 в 23:41       Ответить с цитатойцитата 

johndoe2 писал:
Сюда писать пробовал https://github.com/antirez/redis/issues https://www.reddit.com/r/redis/ https://groups.google.com/forum/#!forum/redis-db ?

Версию ниже текущей пробовал?

В debug mode собирать пробовал?

strace-ом смотреть, куда он пытается писать, пробовал?

Код ведь открытый. Допиши в нужных местах логирование, пересобери и жди пока клюнет.


в гуглгруппы отписал сегодня, пока тихо.

Версия ниже текущей стояла изначально, после того как проблему обнаружили, админ обновил до последней.

Если со сменой директории не прокатит, буду пробовать, спасибо.

1
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 12/12/15 в 11:40       Ответить с цитатойцитата 

а зачем вы пишете в файл?

> 35032:C 11 Dec 15:12:15.142 * DB saved on disk

отключите запись в файл нафиг. редис хорош только как инмемори хранилище

1
 



С нами с 14.07.08
Сообщения: 1599
Рейтинг: 2022


Передовик Master-X (01.04.2015)
Ссылка на сообщениеДобавлено: 12/12/15 в 14:13       Ответить с цитатойцитата 



всмысле? он по дефолту пишет дамп в файл, который указывается в конфиге. Он по-другому по-моему и не работает.

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 12/12/15 в 14:31       Ответить с цитатойцитата 

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

1
 



С нами с 14.07.08
Сообщения: 1599
Рейтинг: 2022


Передовик Master-X (01.04.2015)
Ссылка на сообщениеДобавлено: 12/12/15 в 15:23       Ответить с цитатойцитата 



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

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

Проблема в том, что когда возникают эти ошибки, то смарты вообще не кэшируются, нужно либо выключать redis из конфигов смарта(тогда будет использоваться обычный файловый кэщ), либо рестартить redis, чтобы снова всё работало норм.

1
 



С нами с 17.03.12
Сообщения: 335
Рейтинг: 790

Ссылка на сообщениеДобавлено: 12/12/15 в 19:23       Ответить с цитатойцитата 

Запись на диск можно отключить закомментировав в конфиге строки которые начинаются на save.

Но как писали выше лучше посмотреть с помощью strace чем процесс занимается когда глючить начинает.

9
 



С нами с 14.07.08
Сообщения: 1599
Рейтинг: 2022


Передовик Master-X (01.04.2015)
Ссылка на сообщениеДобавлено: 12/12/15 в 19:43       Ответить с цитатойцитата 




спасибо, админ не ищет сложных путей и закомментировал icon_smile.gif

по времени ответа сервера на внутренних страниц на смаровских сиджетубах вроде отличий не вижу, время ответа то же, что из дампом.

Подскажи пожалуйста если в курсе, из-за того, что дамп не пишется, то эта нагрузка переносится с диска в память?

Размер дампа доходил максимум наверное до 250мб, не видел чтоб он больше был когда-то вообще.

1
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 12/12/15 в 20:12       Ответить с цитатойцитата 

Wskeal писал:
то эта нагрузка переносится с диска в память?

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

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

9
 



С нами с 17.03.12
Сообщения: 335
Рейтинг: 790

Ссылка на сообщениеДобавлено: 13/12/15 в 01:23       Ответить с цитатойцитата 

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

9
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 15/12/15 в 08:36       Ответить с цитатойцитата 

А внешние коннекты закрыты? может хулиганы smail101.gif

True хостинг

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »