XSLを使用してFilemakerデータベースからデータを読み込んで、単純なクエリを実行するASPフロントエンドがあります。問題は、最初のページの読み込みに20秒+/- 200msかかる場合、最初の要求の1分以内に次の数ページのリフレッシュが<になり、サイクルが再び開始されることです。Filemaker XSL 20secクエリの待ち時間
各ページの読み込みは2つのXSLクエリを作成し、最初のページが読み込まれた後に高速で実行されるため、最初のページの読み込みに何が発生していますか?キャッシュを100%のヒット率と100の接続数で表示しました。私は、XSLデータベースセッションのオンとオフ、およびセッション時間を変更なしで1〜60分の間で試しました。
ASPからのXSLロードは、GET要求を使用し、毎回認証するためにBasic Authorization
ヘッダーを追加します。高速ページ要求時に
は、fmserver.exe
とfmswpc.exe
プロセスにも尻込みしていませんが、20秒ホールドアップ時に私はfmserver
ジャンプ30%のCPUと3メガバイトのI/Oが要求に数秒を読んで見て、時折fmswpc
CPUの60%にジャンプします。
私は、毎回スタイルシートを解析するのではなく、サービスのように実行されるプリコンパイルされたトランスフォーメーションが必要だと思います(キャッシュメカニズムには改善の余地があります) –
問題はスタイルシートの解析時間ではありませんいくつかのページの読み込みが許容時間(200ms)で実行されるためです。問題は、最初にスタイルシートを作成する際のレイテンシです(つまり、返されたXMLを表示するためにスタイルシートのURLをロードしようとすると、まだ20秒遅れます)。 –
おそらく、ASPフレームワークに何らかの最適化があり、それは私が書いたことです:コンパイルされたスタイルシートをメモリに保存して再利用できるようにします。もちろん、自動最適化はメモリリークの最適化のために永遠に続くことはできません。この明快さを宣言する方法があるはずです。 –