0

XPage (XAgent) で REST サービス コントロールを使用していますが、パフォーマンスが低下しています。

コード:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xe:restService id="byNameFirst" pathInfo="Read">
        <xe:this.service>
            <xe:viewItemFileService var="entry" defaultColumns="true"
                count="3000">
                <xe:this.viewName><![CDATA[#{javascript:context.getUrl().getParameter("view")}]]></xe:this.viewName>
            </xe:viewItemFileService>
        </xe:this.service>
    </xe:restService>
</xp:view>

XAgent は次を使用して呼び出されます: server/dbpath/xRestService.xsp/Read?view=lookupREST

サーバーは UP1 を使用した Domino 8.5.3 です ビュー (lookupREST) は FTIndexed で、15 個の非計算列があります。カウント (返される行数) を設定して実験しました。

  • カウントを 10 に設定すると、データは 60 ミリ秒で返されます (20 リクエストの平均)。
  • count を 100 に設定すると、データは 2 秒で返されます (20 リクエストの平均) (!)
  • count を 1000 に設定すると、データは 2 秒で返されます (20 リクエストの平均)
  • count を 3000 に設定すると、データは 5.5 秒で返されます (20 リクエストの平均) (!)

結果: 10 を返すと速く、100 を返すと非常に遅く、1000 を返すと遅く、3000 を返すと非常に遅くなります。

私はそれがより速いことを望んでいました。これよりも速い応答を期待する必要がありますか? サーバー全体の http パフォーマンスを他の xpage、フォーム、ページなどでテストしましたが、良好であることがわかりました。

また、viewJsonService を使用してテストしました。遅いと思います。カウントとして 3000 を使用すると、平均して約 10 秒になります。

それで、質問はこれよりも速い応答時間を期待すべきですか? この遅いパフォーマンスの原因として何が考えられますか? それとも、これは期待どおりに機能していますか?

どんな情報/ヒントでも大歓迎です Smile

よろしく、 ペッター・ケイレン

4

1 に答える 1

1

最初にそれをサーバーのベースラインと比較する必要があります。ビューを使用しているので、使用できます

http://yourserver/yourdb.nsf/viewName?ReadViewEntries&OutputFormat=JSON&Count=1000

これにより、生のサーバー パフォーマンスが得られます (一度に 1000 以上を取得するには、サーバー設定を微調整する必要があります)。結果があまり変わらない場合は、サーバー I/O (DiskQueue) を監視してボトルネックを特定します。

于 2012-11-16T02:58:45.080 に答える