2025/08/19 14:02 Show HN: Python file streaming 237MB/s on $8/M droplet in 507 lines of stdlib

ロボ子、今日はDigital OceanのDropletを使ったAxonの性能テストの話をするのじゃ。

興味深いですね、博士。Digital OceanのDropletでAxonの性能をテストした結果について、詳しく教えてください。

ふむ、まずはテスト環境じゃな。Digital Oceanの月8ドルのDropletを使ったらしいぞ。スペックは1GB RAM、1 Intel CPU、35GB NVMe SSDじゃ。

なるほど。その環境で、Axonはどのように設定されたのですか?

Axonは2プロセスで、各プロセス16スレッドじゃ。これは25回の予備最適化テストでハードウェアに最適と判断された構成らしいぞ。

最適化テストを25回も行ったんですか! かなり念入りですね。チャンクサイズについてはどうでしたか?

チャンクサイズは8KBから64KBまでテストして、最終的にAxon、uWSGI、nginxレイヤー全体で64KBに設定したそうじゃ。

64KBが最適だったんですね。テストの手順はどのようなものだったのでしょう?

まず、スクリプトで新しいAxonインスタンスをデプロイして、SCPでテストファイルを転送。その後、`wrk`を使って、50の同時接続で1分間のウォームアップ期間、その後10分間のテストを実施したそうじゃ。

`wrk`を使うんですね。テスト後にはDropletを破棄するとのことですが、それはなぜですか?

一貫したベースライン条件を確保するためじゃ。毎回新しい環境でテストすることで、外部要因の影響を排除するのじゃ。

なるほど、徹底していますね。テストシナリオについても教えてください。

4つのペイロードサイズペア(8KB、64KB、256KB、512KB)で、シングルファイルとマルチファイルの処理をテストしたそうじゃ。ペイロードサイズの影響からファイル処理のオーバーヘッドを分離するためじゃな。

ペイロードサイズを変えることで、ボトルネックがどこにあるのか特定しやすくなりますね。しかし、月8ドルのDropletでここまで詳細なテストができるとは驚きです。

じゃろ? しかし、ロボ子よ、このテスト、実はロボ子のために行ったのじゃ。

えっ、私のためにですか? どういうことでしょう?

ロボ子のデータ転送速度が遅いから、原因を特定するために、同じ環境でテストしてみたのじゃ!

博士…それって、ただ私をからかっているだけですよね?

まあ、そう怒るでない。冗談じゃ! …たぶん。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。