1

いいえ、1 つの質問のタイトルにいくつの流行語を入れられるかを調べようとしているわけではありません。

PHP アプリの cURL を介して、いくつかの Web サービスに対して REST 要求を行っています。アプリケーションの多くはこの API に依存しているため、これらのリクエストはかなり頻繁に行う必要があります。ただし、リクエストには深刻な遅延 (2 ~ 5 秒) があり、アプリが非常に遅く見えるだけです。

これらのリクエストを Memcached にキャッシュすることを推奨するソリューションへの道のりは途中ですが、アプリケーション内で発生するその種のレイテンシーにはまだ満足していません。

そこで、私の考えは次のとおりです。バックグラウンドで AJAX ロングポーリングを実装して、ユーザーが完全にレイテンシーを経験しないようにすることができます。REST リクエスト/Memcache ルックアップは、設定された間隔で AJAX を介してすべて実行されます。

しかし、これは私にとって本当に新しいことであり、これが最善のアプローチであるかどうかはわかりません. そして、私が正しい方向に進んでいれば、PHP + Apache がこのようなことをうまく処理できないことはわかっています。しかし、PHP は私が知っている唯一の言語です。理想的には、Tornado のようなものを Python でセットアップしたいと思っていますが、現在オーバー エンジニアリングを行っているかどうかはわかりません。

ここでの考えは役に立ち、非常に高く評価されます。

4

1 に答える 1

0

microtime()これは非常に簡単なターンアラウンドでしたが、関連するプロセス全体にエコーアウトすることで、アプリをプロファイリングしました。私は自分の cURL リクエストを並列化していないことが判明し、それが本当の打撃を受けるところです。これには約 2 秒かかります。つまり、各 cURL リクエストが連続して実行される間、非常に長い遅延が発生します。

于 2010-11-22T05:50:20.277 に答える