jointrashposs/content/cn/docs/3.for-admin/install/resources/scale-out.md
かっこかり 3512309c4a
New Crowdin updates (#40)
* New translations announcement.md (English)

* New translations announcement.md (Indonesian)

* New translations ftt.md (French)

* New translations ftt.md (Italian)

* New translations ftt.md (Korean)

* New translations ftt.md (Polish)

* New translations ftt.md (Chinese Simplified)

* New translations ftt.md (English)

* New translations ftt.md (Indonesian)

* New translations role.md (French)

* New translations role.md (Italian)

* New translations role.md (Korean)

* New translations role.md (Polish)

* New translations role.md (Chinese Simplified)

* New translations role.md (Chinese Traditional)

* New translations role.md (English)

* New translations role.md (Indonesian)

* New translations 1.index.md (French)

* New translations 1.index.md (Italian)

* New translations 1.index.md (Korean)

* New translations 1.index.md (Polish)

* New translations 1.index.md (Chinese Simplified)

* New translations 1.index.md (English)

* New translations 1.index.md (Indonesian)

* New translations bash.md (French)

* New translations bash.md (Italian)

* New translations bash.md (Korean)

* New translations bash.md (Polish)

* New translations bash.md (Chinese Simplified)

* New translations bash.md (Chinese Traditional)

* New translations bash.md (English)

* New translations bash.md (Indonesian)

* New translations docker.md (French)

* New translations docker.md (Italian)

* New translations docker.md (Korean)

* New translations docker.md (Polish)

* New translations docker.md (Chinese Simplified)

* New translations docker.md (Chinese Traditional)

* New translations docker.md (English)

* New translations docker.md (Indonesian)

* New translations kubernetes.md (French)

* New translations kubernetes.md (Italian)

* New translations kubernetes.md (Korean)

* New translations kubernetes.md (Polish)

* New translations kubernetes.md (Chinese Simplified)

* New translations kubernetes.md (Chinese Traditional)

* New translations kubernetes.md (English)

* New translations kubernetes.md (Indonesian)

* New translations manual.md (French)

* New translations manual.md (Italian)

* New translations manual.md (Korean)

* New translations manual.md (Polish)

* New translations manual.md (Chinese Simplified)

* New translations manual.md (English)

* New translations manual.md (Indonesian)

* New translations ubuntu-manual.md (French)

* New translations ubuntu-manual.md (Italian)

* New translations ubuntu-manual.md (Korean)

* New translations ubuntu-manual.md (Polish)

* New translations ubuntu-manual.md (Chinese Simplified)

* New translations ubuntu-manual.md (English)

* New translations ubuntu-manual.md (Indonesian)

* New translations cdn.md (French)

* New translations cdn.md (Italian)

* New translations cdn.md (Korean)

* New translations cdn.md (Polish)

* New translations cdn.md (Chinese Simplified)

* New translations cdn.md (English)

* New translations cdn.md (Indonesian)

* New translations nginx.md (French)

* New translations nginx.md (Italian)

* New translations nginx.md (Korean)

* New translations nginx.md (Polish)

* New translations nginx.md (Chinese Simplified)

* New translations nginx.md (Chinese Traditional)

* New translations nginx.md (English)

* New translations nginx.md (Indonesian)

* New translations push-docker-hub.md (French)

* New translations push-docker-hub.md (Italian)

* New translations push-docker-hub.md (Korean)

* New translations push-docker-hub.md (Polish)

* New translations push-docker-hub.md (Chinese Simplified)

* New translations push-docker-hub.md (Chinese Traditional)

* New translations push-docker-hub.md (English)

* New translations push-docker-hub.md (Indonesian)

* New translations scale-out.md (French)

* New translations scale-out.md (Italian)

* New translations scale-out.md (Korean)

* New translations scale-out.md (Polish)

* New translations scale-out.md (Chinese Simplified)

* New translations scale-out.md (English)

* New translations scale-out.md (Indonesian)

* New translations troubleshooting.md (French)

* New translations troubleshooting.md (Italian)

* New translations troubleshooting.md (Korean)

* New translations troubleshooting.md (Polish)

* New translations troubleshooting.md (Chinese Simplified)

* New translations troubleshooting.md (English)

* New translations troubleshooting.md (Indonesian)

* New translations disable-timelines.md (French)

* New translations disable-timelines.md (Italian)

* New translations disable-timelines.md (Korean)

* New translations disable-timelines.md (Polish)

* New translations disable-timelines.md (Chinese Simplified)

* New translations disable-timelines.md (English)

* New translations disable-timelines.md (Indonesian)

* New translations 1.index.md (French)

* New translations 1.index.md (Italian)

* New translations 1.index.md (Korean)

* New translations 1.index.md (Polish)

* New translations 1.index.md (Chinese Simplified)

* New translations 1.index.md (Chinese Traditional)

* New translations 1.index.md (English)

* New translations 1.index.md (Indonesian)

* New translations libraries.md (French)

* New translations libraries.md (Italian)

* New translations libraries.md (Korean)

* New translations libraries.md (Polish)

* New translations libraries.md (Chinese Simplified)

* New translations libraries.md (Chinese Traditional)

* New translations libraries.md (English)

* New translations libraries.md (Indonesian)

* New translations permission.md (French)

* New translations permission.md (Italian)

* New translations permission.md (Korean)

* New translations permission.md (Polish)

* New translations permission.md (Chinese Simplified)

* New translations permission.md (Chinese Traditional)

* New translations permission.md (English)

* New translations permission.md (Indonesian)

* New translations 1.index.md (French)

* New translations 1.index.md (Italian)

* New translations 1.index.md (Korean)

* New translations 1.index.md (Polish)

* New translations 1.index.md (Chinese Simplified)

* New translations 1.index.md (Chinese Traditional)

* New translations 1.index.md (English)

* New translations 1.index.md (Indonesian)

* New translations 1.index.md (French)

* New translations 1.index.md (Italian)

* New translations 1.index.md (Korean)

* New translations 1.index.md (Polish)

* New translations 1.index.md (Chinese Simplified)

* New translations 1.index.md (Chinese Traditional)

* New translations 1.index.md (English)

* New translations 1.index.md (Indonesian)

* New translations global-timeline.md (French)

* New translations global-timeline.md (Italian)

* New translations global-timeline.md (Korean)

* New translations global-timeline.md (Polish)

* New translations global-timeline.md (Chinese Simplified)

* New translations global-timeline.md (Chinese Traditional)

* New translations global-timeline.md (English)

* New translations global-timeline.md (Indonesian)

* New translations home-timeline.md (French)

* New translations home-timeline.md (Italian)

* New translations home-timeline.md (Korean)

* New translations home-timeline.md (Polish)

* New translations home-timeline.md (Chinese Simplified)

* New translations home-timeline.md (Chinese Traditional)

* New translations home-timeline.md (English)

* New translations home-timeline.md (Indonesian)

* New translations hybrid-timeline.md (French)

* New translations hybrid-timeline.md (Italian)

* New translations hybrid-timeline.md (Korean)

* New translations hybrid-timeline.md (Polish)

* New translations hybrid-timeline.md (Chinese Simplified)

* New translations hybrid-timeline.md (Chinese Traditional)

* New translations hybrid-timeline.md (English)

* New translations hybrid-timeline.md (Indonesian)

* New translations index.md (French)

* New translations index.md (Italian)

* New translations index.md (Korean)

* New translations index.md (Polish)

* New translations index.md (Chinese Simplified)

* New translations index.md (Chinese Traditional)

* New translations index.md (English)

* New translations index.md (Indonesian)

* New translations local-timeline.md (French)

* New translations local-timeline.md (Italian)

* New translations local-timeline.md (Korean)

* New translations local-timeline.md (Polish)

* New translations local-timeline.md (Chinese Simplified)

* New translations local-timeline.md (Chinese Traditional)

* New translations local-timeline.md (English)

* New translations local-timeline.md (Indonesian)

* New translations main.md (French)

* New translations main.md (Italian)

* New translations main.md (Korean)

* New translations main.md (Polish)

* New translations main.md (Chinese Simplified)

* New translations main.md (Chinese Traditional)

* New translations main.md (English)

* New translations main.md (Indonesian)

* New translations note-capture-events.md (French)

* New translations note-capture-events.md (Italian)

* New translations note-capture-events.md (Korean)

* New translations note-capture-events.md (Polish)

* New translations note-capture-events.md (Chinese Simplified)

* New translations note-capture-events.md (Chinese Traditional)

* New translations note-capture-events.md (English)

* New translations note-capture-events.md (Indonesian)

* New translations token.md (French)

* New translations token.md (Italian)

* New translations token.md (Korean)

* New translations token.md (Polish)

* New translations token.md (Chinese Simplified)

* New translations token.md (Chinese Traditional)

* New translations token.md (English)

* New translations token.md (Indonesian)

* New translations 1.index.md (French)

* New translations 1.index.md (Italian)

* New translations 1.index.md (Korean)

* New translations 1.index.md (Polish)

* New translations 1.index.md (Chinese Simplified)

* New translations 1.index.md (Chinese Traditional)

* New translations 1.index.md (English)

* New translations 1.index.md (Indonesian)

* New translations create-plugin.md (French)

* New translations create-plugin.md (Italian)

* New translations create-plugin.md (Korean)

* New translations create-plugin.md (Polish)

* New translations create-plugin.md (Chinese Simplified)

* New translations create-plugin.md (Chinese Traditional)

* New translations create-plugin.md (English)

* New translations create-plugin.md (Indonesian)

* New translations plugin-api-reference.md (French)

* New translations plugin-api-reference.md (Italian)

* New translations plugin-api-reference.md (Korean)

* New translations plugin-api-reference.md (Polish)

* New translations plugin-api-reference.md (Chinese Simplified)

* New translations plugin-api-reference.md (Chinese Traditional)

* New translations plugin-api-reference.md (English)

* New translations plugin-api-reference.md (Indonesian)

* New translations publish-on-your-website.md (French)

* New translations publish-on-your-website.md (Italian)

* New translations publish-on-your-website.md (Korean)

* New translations publish-on-your-website.md (Polish)

* New translations publish-on-your-website.md (Chinese Simplified)

* New translations publish-on-your-website.md (Chinese Traditional)

* New translations publish-on-your-website.md (English)

* New translations publish-on-your-website.md (Indonesian)

* New translations 5.releases.md (French)

* New translations 5.releases.md (Italian)

* New translations 5.releases.md (Korean)

* New translations 5.releases.md (Polish)

* New translations 5.releases.md (Chinese Simplified)

* New translations 5.releases.md (Chinese Traditional)

* New translations 5.releases.md (English)

* New translations 5.releases.md (Indonesian)
2023-12-01 23:02:12 +09:00

2.9 KiB

Misskeyサーバーのスケールアウト

サーバーの利用者が増えるにしたがって、サーバーマシンのスペックを強化したり台数を増やして負荷に対応する必要が生じます。この記事ではMisskeyサーバーのスケールアウトに関するTipsを紹介します。

PostgreSQLのレプリケーション

PostgreSQLのレプリケーションを行うと、データベースの負荷を複数のサーバーマシンに分散させることができます レプリケーションについての詳細はPostgreSQLのドキュメントを参照してください。 MisskeyではPostgreSQLのレプリケーションに対応しており、configファイルで以下のように設定します。(一部抜粋)

# レプリケーションを使用する場合は true にします
dbReplications: true

# リードレプリカのリストをここで設定します(いくつでも設定可能)
dbSlaves:
  -
    host: foo
    port: 5432
    db: misskey
    user: xxxxx
    pass: xxxxx
  -
    host: bar
    port: 5432
    db: misskey
    user: xxxxx
    pass: xxxxx

このように設定すると、Misskeyがデータベースに対してreadクエリを発行するとき設定したdbSlavesの中からランダムにreadレプリカ選択してクエリを送信するようになり、データベースの負荷が分散されます。

役割に応じたRedisの分割

Misskeyは以下のように様々な用途でRedisを使用します。

  • ジョブキューの管理
  • レートリミットの管理
  • キャッシュ
  • 通知などの情報の保存
  • グローバルなイベントのPub/Sub

Misskeyでは、これらの用途ごとに異なるRedisサーバーを使用するように設定することができ、負荷を複数のサーバーマシンに分散させることができます。 configファイルで以下のように設定します。(一部抜粋)

redisForPubsub:
  host: foo
  port: 6379
  #family: 0  # 0=Both, 4=IPv4, 6=IPv6
  #pass: example-pass
  #prefix: example-prefix
  #db: 1

redisForJobQueue:
  host: bar
  port: 6379
  #family: 0  # 0=Both, 4=IPv4, 6=IPv6
  #pass: example-pass
  #prefix: example-prefix
  #db: 1

現在設定可能なのはメインのRedisに加えて上記のように「グローバルなイベントのPub/Sub」と「ジョブキューの管理」用のRedisです。

リモートのチャートの無効化

個々のリモートユーザーのアクティビティなどのチャートや個々のリモートサーバーのチャートが必要無い場合、それらの生成を無効にするとパフォーマンスが向上します。 コントロールパネルから、「リモートユーザーのチャートを生成」および「リモートサーバーのチャートを生成」をオフにすることで無効にできます。