私の意見では、最終的に発売される Raspberry Pi 5 を待つのが賢明でしょう。Pi のパフォーマンスが 2 から 3、そして 4 へと進化してきた推移をグラフ化して先読みすれば、Discourse を動かすのに十分なパワーを備えているはずです。
また、x86(x64?)の依存関係が現時点で克服可能かどうかはわかりませんが、長期的な視点で検討するのは悪いアイデアではありません。
私の意見では、最終的に発売される Raspberry Pi 5 を待つのが賢明でしょう。Pi のパフォーマンスが 2 から 3、そして 4 へと進化してきた推移をグラフ化して先読みすれば、Discourse を動かすのに十分なパワーを備えているはずです。
また、x86(x64?)の依存関係が現時点で克服可能かどうかはわかりませんが、長期的な視点で検討するのは悪いアイデアではありません。
64ビットクアッドコア1.5GHzのPi 4をクラスタ化し、ストレージ用にUSB3ディスク(約300MB/s)または外部オブジェクトストレージ(S3またはGCP)を採用し、匿名ユーザー向けにCDNを前面に配置することも、可能なプラットフォームの代替案となるでしょう
未来が示してくれるはずです!
それだけではあまり意味のある数値ではありません。
どの microSD カードを使用したかは明記されていませんが、Lexar Professional 1800x と同程度のオーダーです。このカードは、連続読み取り速度が約 300 MB/s、書き込み速度が 250 MB/s に近づきます。ただし、microSD の問題点は連続読み書きではなく、複数のユーザーがデータベースやローカルアセットにアクセスする際の実際の挙動を知るには、ランダム読み書きを確認する必要があります。
最新の SSD は通常、連続読み取りで 500 MB/s 以上、連続書き込みで 475 MB/s 以上の性能を示します。これは上記の数値とそれほど差はありません。しかし、ランダム読み書きにおける性能差は非常に大きくなります。同じ SSD なら 4KiBQ8T8 で 400 MB/s まで引き上げられるのに対し、Lexar は 15 MB/s 前後と低二桁台まで低下します。ランダム書き込みに至ってはさらに悪く、SSD は 300 MB/s を維持するのに対し、microSD は 2 MB/s 程度と低一桁台にまで落ち込みます。
私は rPi の大ファンで、さまざまな場所で利用していますが、それでもまだ私たちが目指すべき水準には程遠い状況です。
これはスウェーデンで 20 ドル(米ドル)のサンディスク 64GB カードで、A2 レーティングのものだと思います。純粋なシーケンシャル速度があなたが言っているほどひどくないことを証明したかっただけです ![]()
もし USB3 ポートに外付け SSD を接続しても rPi で動作しない場合、データベースを外部で実行することでそのボトルネックが解消されると推測します。ただし、私はバイアスがかかっています。現在、Pi 4 に実装された 1Gbit/s NIC を使って ARM クラスターを構築・運用するというアイデアが好きだからです。また、一般的に「動作しない」という考え方に挑戦することも好きです ![]()
何にでも十分な時間、資金、リソースを投入すれば、それを動かすことは可能です。
過去数年間でラズベリーパイ上でDiscourseを実行するようリクエストしてくるユーザーは、すでにパイを持っていて、それ以上の出費をしたくないという人たちがほとんどです。今回私たちが探求しているのも、実質的にはその点です。
外部SSDを追加したり、データベースを別のシステムに移行したりし始めたとたん、もはや「ラズベリーパイ上でDiscourseをホストする」ことについては語っていないことになりますね。![]()
その通りです。一般的に、支払った分だけの価値は得られると思います ![]()
Raspberry Pi 4(RAM 4GB または 8GB)を用意してください
次に、MicroSDカード(INDUSTRIAL 規格)をアマゾンやイーベイなどで入手しましょう。
Docker のイメージは公式サイトから入手してください:https://blog.hypriot.com/
具体的には「Download」セクションの最新バージョンをダウンロードします。
イメージを MicroSD カードに書き込んだら、それを Raspberry Pi に挿入し、SSH で接続します(Docker SSH のユーザー名とパスワードは「pirate」と「hypriot」です。→ ユーザー: pirate / パスワード: hypriot)。接続後、sudo raspi-config で認証情報を好みに変更し、Raspberry Pi を再起動してください。
再起動後、再度 SSH で接続し、以下のガイドに従って「Discourse」をインストールしてください:https://linoxide.com/how-tos/install-discourse-docker-container/ :wink もちろん、Docker は最初からインストール済みですので、手順の 2) から開始してください。
楽しい時間を!
こんにちは、Massym さん、
指示に従って hypriot をインストールしましたが、以下のエラーが発生しました。
$ ./launcher bootstrap app
standard_init_linux.go:211: exec user process caused "exec format error"
Your Docker installation is not working correctly
参照: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
ご教示いただけますでしょうか。
よろしくお願いいたします。
ラファエルさん、迅速なご返信をいただき、心から感謝いたします。
どうやら、Massym 氏が Raspberry Pi 4 で Discourse の動作に成功したと推測したのは私の誤解だったようです。彼の投稿を再読したところ、その旨を明確に述べてはいませんでした。私にとっては時間の無駄でしたが、少なくとも学習の機会となりました。
Discourse のどの具体的なコンポーネントがサポートされていないのでしょうか?私だけでなく、多くの方々がそれを動作させたいと切に願っているはずです。
ありがとうございました。
Discourse が x86_64 向けにビルドされたイメージ(Redis、Ruby、PostgreSQL など)を使用していると推測します。
それは、サーバー上で JavaScript を実行する V8/MiniRacer ライブラリです。
Apple が M1 プロセッサファミリを導入した今、すぐにでも ARM 環境での動作が実現すると確信しています。
それが実現するのを楽しみにしています。Discourse で運用している私のフォーラムの一つは、インテルベースのサーバーよりもはるかに少ない電力を消費する RPi4 クラスターへの移行中に残っている最後の課題です。
Bump、ARM 向けの v8 gem に関する進展はありましたか?イメージのコンパイルを試みましたが、常にその gem で止まってしまいます。少し複雑で、主にビルドスクリプトが X86_64 ツールをダウンロードして ARM 上で実行しようとするために失敗します。
参照:
ARM サーバー(および Ruby 環境)は、Apple の素晴らしい M1 チップついに実用的なラップトップに登場したことで、まもなく大幅な進歩を遂げるでしょう。
しかし、ラズベリーパイ自体、大幅に改良された 4 型でさえ、サーバーとしては非常に性能不足です。この投稿 や Speedometer 2.0 の結果によると…
3B+ Buster 32 ビットカーネル
9.49/9.66/9.46 = 9.54 Chromium4B4 Buster 64 ビットカーネル(32 ビットでも同様の結果)
17.2/17.0/17.1 = 17.1 ChromiumOnePlus 7 Pro スマートフォン(Snapdragon 855、8GB RAM、Android/Oxygen OS 10)
36.3/35.9/36.8 = 36.3 ChromeHP Chromebook x2(デュアルコア M3-7Y30)
68.2/68.6/68.0 = 68.3 Chrome OS 78Legion Y520 予算向けゲーミングラップトップ(i7-7700HQ Win10x64)
87.4/86.8/87.3 = 87.2 Chrome
これらの数値に基づき、将来的なラズベリーパイ 5 が以下のような条件を満たせば…
…極めてトラフィックの少ない Discourse フォーラム用の Discourse サーバーとして、もしかしたら viable(実用的)になるかもしれません。
間もなくお目見えします。私はこれまで RPi4 で他の Rails アプリケーションを実行しており、そのパフォーマンスには満足していました。しかし、Discourse に比べるとそれらははるかにシンプルだったことを認めざるを得ません。
これでサポートされるようになりました