私はzendアプリケーションで2つのsoap webservicesを開発しました。私の開発環境(Mac 8GB RAM i7プロセッサのMAMP)では、パフォーマンスは本当に良いです。 Ubuntu LAMPサーバー(1 GB RAM 1プロセッサー)に展開すると、パフォーマンスが大幅に低下します。その10倍以上の遅さ。パフォーマンスZend Soap Service on LAMP
私はJavaクライアントを持っています(eclipseはwsdlから自動生成されたクライアントです)。問題は、最初の呼び出しが常に2番目の呼び出しより4倍遅いことです。これは私のMAMPとLAMPの両方に適用されます。
MAMP - 最初の呼び出し400ミリ - 第コール100ミリ
LAMP - 最初の呼び出し2つの000 MS - 第コール400ミリ
exactley要求であるので、私は単に要求を複製1回目と2回目と同じです。
LAMPクライアントを手動で数回実行すると、最初の呼び出しは約900ミリ秒で実行されます。あたかもZendアプリケーションが最初の呼び出し中に何か "起動"しなければならないかのように感じます。
誰も私がこれをどう回避できるかについての手掛かりはありますか?私が試したもの:
- は
- 読むのチューニングは、事前に
感謝をtutroials WSDLがキャッシュされている(LAMPに同梱されていない)
私のパブリックフォルダにwsdlを格納し、./wsdl/my.wsdlとwsdl/my.wsdlを使用してコンストラクタのボットにロードしようとしました。この問題は、サービスが数秒間アクセスされていない場合に発生するようです。数回連続して実行するとsoap-ui(wsdlをキャッシュ)で150ms、wsdlをメモリにキャッシュするJavaクライアントで約900msで呼び出しが行なわれます。しかし、サービスが数分/秒でアクセスされていない場合、Javaクライアントは2〜5秒かかり、soap-uiは1〜2秒かかります。他のアイデア? – Jake142
xdebugとkcachegrindを使用してサーバーコードをプロファイルして、ボトルネックが正確にどこにあるか確認してください。 –