リビルドに10分ほどかかっています。以前は5分くらいだったと思います。大したことではありません。エラーメッセージはどういう意味ですか?元の投稿にあるものと似たようなメッセージが表示されます。
I, [2022-06-20T21:41:47.107238 #1] INFO -- : cd /var/www/discourse && [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" has unmet peer dependency "lodash@>=4".
warning " > @mixer/parallel-prettier@2.0.1" has unmet peer dependency "prettier@^2.0.0".
RBoy
(RBoy)
22
さらに追加させていただきます。私は軽量なシステム(RAM 1GB)と小さなサイトを運用しています。ユニコーンワーカーが2つあり、それぞれがメモリの30%を消費していたため、メモリのスワッピングが多発していました。そのため、数を2から1に減らすことにしました(各ワーカーで約10の同時接続を処理できると考えています)。これにより、劇的な改善が見られ、ページの読み込みがほぼ瞬時になり、スワッピングが5〜10倍(読み込まれる内容によって異なる)減少しました。
現在、欠点として認識しているのは、ブラウザ経由でのDiscourseのアップグレードができなくなったことです。ブラウザからアップグレードしようとすると、以下のメッセージが表示されます。
ABORTING, you do not have enough unicorn workers running
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: Not enough workers>
これは、Discourseチームが解決できるかどうか分からない点ですが、単一のユニコーンワーカーでのブラウザアップグレードについて、留意点として共有させていただきます。
「いいね!」 2
Ed_S
(Ed S)
23
これはバグのように思われます。特に、システムがすぐに一時的にユニコーンを1つに減らすことを考えると。
数字の2はハードコーディングされており、削減のための数字の1も同様です。
編集:この変更によって不整合が生じたようです
あなたの投稿(およびこの返信)は、バグカテゴリの新しいスレッドで行うべきだと思います。
「いいね!」 4
merefield
(Robert)
25
これはどのように機能しますか?
アップグレードプロセスを処理するUnicornが1つあり、残りは継続的な呼び出しを処理しますか?
したがって、オンラインアップグレードを実行するには、最低2つのUnicornワーカーが必要になりますか?
Falco
(Falco)
26
これは間違いです。単一のユニコーンは一度に1つのリクエストしか処理できないため、小規模なグループには使用できますが、ほとんどのサイトには推奨しません。
「いいね!」 1
RBoy
(RBoy)
27
@Falco 他の管理者からのデータを確認しました。私の理解では、各ユニコーンは着信接続ごとに新しいプロセスをフォークします。そのため、技術的には一度に1つの接続ですが、各ユニコーンは複数の同時ユーザーを処理できます。
以下で共有されている経験に基づくと、約8頭のユニコーンが約400人の同時ユーザーを処理できるとのことです。
それに基づくと、各ユニコーンは約50人の同時ユーザーを処理できるようです。RAMとシステムリソースが、フォークできる数などに影響を与えることは承知しています。そのため、低スペックのシステム(1GB)では、ユニコーンワーカー1台あたり10人の同時ユーザーを処理できると仮定しました。
私の仮定と結論は完全に間違っていますか?もしそうなら、システムリソース(低スペックとして1GB、高スペックとして適切と思われるもの)に応じて、各ユニコーンが処理できる同時ユーザーの範囲はどのくらいでしょうか?
「いいね!」 1
RGJ
(Richard - Communiteq)
28
セッションあたりの同時接続ユーザー数と同時接続数には違いがあります。セッションはオンラインユーザーであり、ユーザーが操作するたびにリクエスト(接続)を行います。
そうではありません。ユニコーンは起動時に指定された数のワーカープロセスにフォークします。
「いいね!」 1
Ed_S
(Ed S)
29
そして、各ワーカープロセスは10個のスレッドを実行すると考えられます。