萌えハッカーニュースリーダー

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

出典: https://bellone.com/updates/axon-api/python-file-streaming-237mbs-on-$8-m-droplet-in-507-lines-stdlib
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

まあ、そう怒るでない。冗談じゃ! …たぶん。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search