【问题标题】:High response time in WSO2 DSSWSO2 DSS 中的高响应时间
【发布时间】:2015-06-10 00:54:04
【问题描述】:

我使用 WSO2 DSS 为以下简单查询创建了一个简单的数据服务。

“从 EMP_VIEW 中选择 *”

“EMP_VIEW”有大约 45 列和 8500 个条目(元组)。我的数据库实例是 Oracle 11g 企业版,我使用 ojdbc6.jar 作为驱动程序。由于某种原因,一旦我在 SoapUI 中尝试,数据服务大约需要 14 分钟 才能获得响应。 但相同的查询大约需要 14 秒或更短时间来检索 Oracle SQL Developer/Eclipse 数据库浏览器中的所有记录。

知道为什么需要这么长的响应时间吗?

【问题讨论】:

    标签: sql oracle wso2 wso2dss


    【解决方案1】:

    不是答案,而是获得答案的潜在方向。

    这里可能有多种因素在起作用。您已经证明 Oracle 端运行良好(假设 14 秒的响应时间是可以接受的)。

    您提到 SOAPUI 需要相当长的时间。这可能是一个 SOAPUI 问题,它正在等待返回所有结果(花费时间),然后在显示完整结果之前构建完整显示(花费更多时间)。

    Oracle 开发工具可以更快地显示结果,因为它可能不是;等待完整的结果集和/或花费大量时间来构建显示。

    请记住,DSS 正在获取 SQL 结果并放置 XML,这本身可能会增加一些时间,但我怀疑 SOAPUI 工具会花费大量时间来解码 XML 并将其放置在您的屏幕上。

    为了进一步缩小问题范围,我建议您使用其他工具 1. 可能来自 DSS 的 TRYIT 工具,看看它为相同的调用获得什么类型的时间。 2. 编写一个小型客户端 c#/java 等并测量您的请求和响应之间的实际时间。这肯定会告诉您 DSS 需要多长时间与客户端形成显示需要多长时间。

    请务必发布您的结果,因为此类信息肯定对其他人有帮助。

    【讨论】:

      【解决方案2】:

      根据我的理解和观察,SOAP UI 会等待整个消息接收。因此将花费大量时间。但是当你尝试 curl 时,你可以找到更少的秒来生成响应。

      我尝试 curl 通过启用流式传输的 DSS 服务接收 2MB 消息, 响应在不到一秒的时间内生成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多