繁体   English   中英

Apigee代理性能调整

[英]Apigee proxy performance tuning

是否有建议/最佳方法来生成有关API代理的每个策略所花费时间的报告?

当前,我的方法是使用JS收集时间戳并计算每个策略的延迟,然后使用统计信息收集策略报告该时间。

对于性能检查而言,这过于侵入性,仅我的数据收集就为整体响应增加了时间。

在分析多个请求中的数据时,最好的无创方法是报告每个步骤所花费的时间(在跟踪模式下,ui会根据单个请求显示每个策略的时间)

谢谢,

里卡多

不支持公共API来计算此信息并返回汇总的策略执行时间数据的简洁明了的响应。 最好的选择是尝试使用具有request_processing_latencyresponse_processing_latency度量的Analytics(分析)报告。 http://apigee.com/docs/content/analytics-reference )。 然后,如果需要,利用跟踪来识别策略执行时间。

另外,您可以尝试下载跟踪会话并解析策略之间的时间戳以构建您的信息,但是在UI中进行跟踪已经做到了。

您考虑使用调试API。 http://apigee.com/docs/api/debug-sessions

首先,您需要启动一个会话,例如:

curl -H "Content-type:application/octet-stream" -X POST https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/apis/{api_name}/revisions/{revision #}/debugsessions?"session=MySession" \\ -u $ae_username:$ae_password

从会话中获取信息:

curl -X GET -H "Accept:application/json" \\ https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/apis/{api_name}/revisions/{revision #}/debugsessions/MySession/data \\ -u $ae_username:$ae_password

可以使用UI中的调试跟踪找到每个策略花费的时间。

请参见以下屏幕截图。

同样,正如Diego所说,您可以使用debugsession API调用来获取调试会话。

对于调试会话,您还可以定义要调试会话运行多少时间的时间限制。 这样,如果您将性能测试运行1个小时,则可以在这么长的时间内创建调试会话。

     curl -v -u jhans@apigee.com               http://management:8080/v1/organizations/weatherapi/environments/prod/apis/ForeCast/revisions/6/debugsessions?session=ab\&timeout=300 -X POST

从UI中,您可以下载跟踪会话,该会话将包含具有每个策略时间戳记的XML。

     <Point id="Condition">
      <DebugInfo>
        <Timestamp>05-02-14 04:38:14:088</Timestamp>
        <Properties>
            <Property name="ExpressionResult">true</Property>
      </Point>
     <Point id="StateChange">

上面是一个示例,用于从UI获取调试跟踪中任何策略的时间戳。

里卡多,这是我的建议。

免责声明:这是非常细致且耗时的。 仅当您确实在性能问题上受阻且没有其他解决方案时,我才建议使用此方法。

让我们说您的代理服务器几乎没有策略,即对外部服务的服务标注和后端。

因此,总延迟为(p1,p2,p3 ...)花费的时间总和+服务标注目标+后端花费的时间。

  1. 第一步将是消除外部依赖关系。 您可以使用空目标(Apigee边缘上的存根代理,无需任何逻辑)。
  2. 现在禁用所有其他策略(策略架构上的enable = false)。 进行负载测试,并根据存根端点对代理性能进行基准测试。 同样,此时没有任何策略处于活动状态。
  3. 一次开始一个或几个激活策略,然后每次重新运行负载测试。
  4. 最后,您可以对真实的后端运行负载测试(删除存根)

在这一系列负载测试的最后,您将知道后端对哪个策略的性能影响最大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM