長い間、Perlスクリプトと比較して、Cプロセスで処理できるリクエストの量を確認したいと考えていました。
mysqlの影響を避けるために、1つのSQLクエリを使用した単純なスクリプトで確認しました。 FastCGIが使用するnginx Webサーバー。
件名-投票スクリプト:QUERY_STRINGからidを取得し、REMOTE_ADDRからIPアドレスを取得し、mysqlテーブルに簡単なINSERTで追加します。 この投票の原則については、 Tips&Tricks 2でもう少し書きました。 両方のオプションは、Unixソケット経由でFastCGI経由でWebサーバー(nginx)に接続しました。
perlスクリプトはCGI :: FastとDBIを使用しました。 Cバリアントの場合、 fcgi_stdioライブラリを使用し、 CentOSを使用して控えめなVPSでテストを実行しました。 物理サーバーを使用しているのは私だけではないため、絶対値にわずかな広がりが見られましたが、相対的な違いは非常に顕著でした。
標準のab -n 1000 -c 10、「Requests per second」、平均値でテスト済み:
Perl:933リクエスト/秒
C:2896リクエスト/秒(3倍!)
数回テストを繰り返しましたが、数値はわずかに異なりましたが、常に3〜4回程度の差があったことを思い出してください。
また、パフォーマンスの向上に加えて、Cプロセスのメモリ消費量は数倍少なくなります。 私の場合-3.5回。
Z.Y. 本当にWeb Developmentに投稿したかったのですが、どうやらカルマがなかったようです。 :)誰かがカルマを追加した場合-私は感謝します。
それまでの間、同様のトピックに関する投稿は私のブログで読むことができます。http : //blog.ugnich.com/