Назад | Перейти на главную страницу

Родительский процесс Redis разбивает диск, несмотря на appendfsync = no

Мы видим множество операций ввода-вывода с сервера redis, несмотря на то, что наши операции сохранения настроены на выполнение только каждые 15 минут.

Рабочая нагрузка - это «полный кеш страницы»; мы храним капли сжатого HTML. При необходимости HTML может быть воссоздан на лету, поэтому нам не нужны самые свежие резервные копии / постоянство.

Характеристики сервера:

2x Hex Core Intel Xeon E5-2640 2.5GHz
128GB RAM
2x 400GB Intel SSDs in RAID 1

IO:

# pidstat -d | grep redis
05:01:35 PM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
05:01:35 PM     23450      0.01   3981.60      0.00  redis-server

redis сохранить конфигурацию:

redis 127.0.0.1:6379> config get save
1) "save"
2) "900 10000"

Конфигурация redis appendfsync:

redis 127.0.0.1:6379> config get appendfsync
1) "appendfsync"
2) "no"

Из руководство

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

Поэтому я бы ожидал высокого ввода-вывода от Redis только тогда, когда существует временный дочерний процесс для выполнения операции фонового сохранения.

Из нашего журнала Redis относительно фоновых сохранений:

# tail /var/log/redis/redis.log
[23450] 27 Aug 16:43:20 * 10000 changes in 900 seconds. Saving...
[23450] 27 Aug 16:43:20 * Background saving started by pid 47396
[47396] 27 Aug 16:44:28 * DB saved on disk
[23450] 27 Aug 16:44:29 * Background saving terminated with success
[23450] 27 Aug 16:59:30 * 10000 changes in 900 seconds. Saving...
[23450] 27 Aug 16:59:30 * Background saving started by pid 4722
[4722] 27 Aug 17:00:40 * DB saved on disk
[23450] 27 Aug 17:00:40 * Background saving terminated with success

Это выполняется каждые 900 секунд (15 минут) и занимает около 1 минуты.

Как я могу отладить это дальше?