Redis は OpenSuse 42.1 で動作しますが、多くのエラーが発生します。どうすれば修正できますか?

Redis は OpenSuse 42.1 で動作しますが、多くのエラーが発生します。どうすれば修正できますか?

パッケージ マネージャーを使用して、OpenSuse 42.1 に Redis 3.2.4 をインストールしました。マシンには 16 GB のメモリがあります。

実行するために次の手順を実行しました。(デーモンとして実行したいのですが、設定を変更していません。)

  • cp default.conf.example default.conf
  • chown root.redis default.conf
  • systemctl enable redis@default
  • systemctl start redis@default
  • service redis start

次のエラーが発生します:

54778:C 18 Jan 12:38:56.664 # systemd supervision requested, but    NOTIFY_SOCKET not found   

54778:M 18 Jan 12:38:56.665 # You requested    maxclients of 10000 requiring at least 10032 max file descriptors.     

54778:M 18 Jan 12:38:56.665 # Server can't set maximum open files to    10032 because of OS error: Operation not permitted.  

54778:M 18 Jan 12:38:56.665 # Current maximum open files is 4096. maxclients has    been reduced to 4064 to compensate for low ulimit. If you need higher    maxclients increase 'ulimit -n'.

54778:M 18 Jan 12:38:56.666 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

54778:M 18 Jan 12:38:56.666 # Server started, Redis version 3.2.4

54778:M 18 Jan 12:38:56.666 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

54778:M 18 Jan 12:38:56.666 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

答え1

Type=forkingセクション[Service]ファイルに行を入力する必要がありますredis.service

Ubuntuタイプの場合sudo nano /etc/systemd/system/redis.service

答え2

Linux カーネルを調整する必要があるようです。sysctl コマンド、sysctl.conf 設定ファイル、およびそれぞれのマニュアル ページを確認してください。

次のカーネル値を増やす必要があります: 最大ファイル記述子、最大オープンファイル、最大接続、オーバーコミットメモリの有効化、透過的巨大ページの無効化。その後再起動してください。

Redisインスタンスは実行されているようですが、パフォーマンスが制限されています

関連情報