2011-06-20 21 views
1

私はファイルを暗号化/復号化し、圧縮してブラウザに送信する必要のあるWebアプリケーションを作成します。サイトはphp(codeigniter)ですが、実際のファイル提供コンポーネントは異なる言語にすることができます。ストレートCやシェルスクリプトのように、PHP以外の何かを使って速度を上げることができるのだろうか?はじめて正しいことをしようとしています。みんなありがとう。 + C/Pythonの/ Whatever_fastはあなたに(あなたのユースケースの仕様に応じて)大規模なパフォーマンスの改善を与えることができるのFastCGIを使用して圧縮と暗号化のベンチマークの比較

+2

心配はいりません。ネットワーク速度は、ファイルを圧縮/送信するために使用するものよりも数桁遅いです。あなたは**複数の**圧縮されたファイルの同時要求を持っていますか? – pmg

+0

これは本当にあなたの質問に答えるものではありませんが、可能であれば、暗号化と圧縮を有効/無効にするオプションを提供することをお勧めします。 – istudy0

+2

暗号化されたデータを圧縮することは無駄な試みです...暗号化の後、あなたのデータはランダムビットのように見えます... – DarkSquirrel42

答えて

0

が、その理由は以下のとおりです。

  1. ステートフル。 PHPは各要求に対して新しいプロセスを開始しなければならず、データ は簡単に再利用することができません。 FastCGIを使用すると、メモリ内の膨大なキャッシュを作成できます。
  2. 何が起こっているのかをより詳細に制御できます。実際には フルコントロール。

Opencaching.plサイトには、GoogleマップウィジェットのオーバーレイのPNG画像を生成するPHPで書かれたコンポーネントがありました。オーバレイは、要求された画像を地図の上に表示することで機能し、それぞれのDOMオブジェクトを作成せずに多くの地理的ポイントにラベルを付けることができます。コードは、指定された座標の間でポイントを取得し、PHPの組み込みImageMagick APIを使用してキャンバスに描画するSQLクエリで構成されていました。マップの各ビューは、ブラウズとズームを言及していないPHPスクリプトへの複数のクエリをもたらしました。パフォーマンスはHORRIDでした。膨大なメモリとCPU使用量。

ApacheでFastCGIを使用してCのスクリプトを書き直しても、同じロジック、同じSQLを残して、同じSQLを使用してImageMagickをSDLに置き換えると、突然、最大のボトルネックは、より良いグラフィックスを可能にするデータベースになりました。 SDLはゲームグラフィックスライブラリなので、パフォーマンスは向上しました。 PHPでは、医薬品品質のライブラリに限られています。

関連する問題