【问题标题】:AWS Parameter Store getting multiple parameters is way slower than getting one at a time?AWS Parameter Store 获取多个参数比一次获取一个要慢得多?
【发布时间】:2018-07-16 13:58:34
【问题描述】:

我已经调试了一段时间,我似乎无法弄清楚为什么并在这种情况下找到任何逻辑。

我在简单系统管理中存储了一些参数,如jirahost、jirapassword、jirausername等参数!

AWSSimpleSystemsManagement ssmClient = (AWSSimpleSystemsManagement)((AWSSimpleSystemsManagementClientBuilder)((AWSSimpleSystemsManagementClientBuilder) AWSSimpleSystemsManagementClientBuilder.standard()).withRegion("us-east-1")).build();
GetParametersRequest paramRequest = new GetParametersRequest();
paramRequest.withNames(jiraHost, jiraUsername, jiraPassword, jiraIssueType, jiraProjectKey).setWithDecryption(true);
GetParametersResult paramResult = ssmClient.getParameters(paramRequest);

这是我用来从参数存储接收多个参数的代码。

然后我正在使用 google guava stopWatch 来测量时间,它需要 7 多秒才能全部接收到!

然后我尝试只调用一个参数:

AWSSimpleSystemsManagement simpleSystemsManagementClient = (AWSSimpleSystemsManagement)((AWSSimpleSystemsManagementClientBuilder)((AWSSimpleSystemsManagementClientBuilder) AWSSimpleSystemsManagementClientBuilder.standard()).withRegion("us-east-1")).build();
GetParameterRequest parameterRequest = new GetParameterRequest();
parameterRequest.withName(parameterKey).setWithDecryption(true);
GetParameterResult parameterResult = simpleSystemsManagementClient.getParameter(parameterRequest);

再次使用秒表,不到300毫秒!?

你能看到我看不到的东西吗?最简单的方法是多次调用单参数方法,但我真的很想弄清楚发生了什么。

希望你能帮助我

【问题讨论】:

  • 你真的做了基准测试,还是这些只是单次执行的结果?在您断定它变慢之前,您连续调用了多少次这些 sn-ps?您确定您不与其他人比赛并获得共享结果吗? JVM 不是一个容易满足“简单”措施的平台。
  • 另外,所有的选角是怎么回事?所有这些方法都准确地返回了您要转换的内容,您的代码不是因为所有无用转换的警告而变成黄色吗?

标签: java amazon-web-services aws-ssm


【解决方案1】:

您可以通过路径请求所有参数,而不是单独命名。

这是我在 PHP 中使用的一个示例:

$result = $ssm_client->GetParametersByPath(['Path' => '/inventory-app/']);

这将返回该路径下的所有参数。所以,试着把你的参数放在一个层次结构中,然后一直抓取它们。

【讨论】:

    【解决方案2】:

    这只是亚马逊 AWS 的预热时间。每次我更新我的 lambda 时,第一次调用这个函数就这么慢。

    之后它和往常一样快。

    【讨论】:

      猜你喜欢
      • 2018-02-19
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      相关资源
      最近更新 更多