特定のデータ型に特化した memcache サーバーを実装すると、ストレージ バックエンドのメモリ効率が向上し、ビット単位のルックアップ操作 (つまり、O(1) ルックアップ) によってルックアップ時間が短縮される可能性があります。
私は 2 日以内にすべてのプロトコル実装とイベント ドリブン デーモン部分を Python で作成しました。チームがプロトコルの適合性やその他の部分を検証している間、機能をテストし、パフォーマンスに集中するのに十分な時間を与えてくれました。
Pyrexのようなツールがあれば、Python に C 拡張機能を実装することは、C の経験が少しある開発者にとっては簡単なことです。基数ツリーベースのストレージ バックエンドを C で書き直して、1 日で Pyrex を使用した Python モジュールにしました。475K プレフィックスのメモリ使用量が 90MB から 8MB に減少しました。クエリのパフォーマンスが 1200% 向上しました。
現在、このアプリケーションはpyevent (libevent 用の Python インターフェース)で実行されており、新しいストレージ バックエンドは、40MB 未満のメモリを消費する (libevent のおかげで)シングル プロセス デーモン として実行されている、控えめなシングル コア サーバーで 1 秒あたり 8000 クエリを処理します( 300 以上の同時接続を処理しながらPython インタープリター) 。
これは、5 日以内に製品品質を実現するために設計および実装されたプロジェクトです。Python と Pyrex がなければ、もっと時間がかかります。
より強力なサーバーを使用してマルチプロセス/マルチインスタンス モデルに切り替えるだけで、パフォーマンスの問題をトラブルシューティングすることができましたが、コードと管理タスクが複雑になり、メモリ フットプリントがはるかに大きくなりました。
あなたは Python を使って正しい方向に進んでいると思います。