amazon-web-services - 加载参数时提高性能
问题描述
我正在使用 AWS Parameter Store 来保存要由我的 Lambda 函数(环境变量)使用的参数,实际上是 4 个参数。但是我在加载它们时观察到一些性能问题,仅加载一个参数需要 0.2 到 0.6 秒,这对于我的网络应用程序来说是很多时间。
我通过运行这个命令来测量时间
时间 aws ssm 获取参数 --name "sample_parameter"
我希望加载参数值的时间更少,因为我需要获取 4 个参数。所以这是我的问题......将参数加载为json文本是一个好习惯吗?所以我可以将所有这 4 个参数放在一个 json 对象中。调用 get 参数函数时,有什么事情可以提高性能吗?
谢谢
解决方案
您可以使用 get-parameters 一次获取所有参数。在我的测试中,在一次调用中获取所有 4 个参数的平均时间与获取 1 的时间相同。
$ time aws ssm get-parameter --name w1
{
"Parameter": {
"Name": "w1",
"Type": "String",
"Value": "say anything",
"Version": 1,
"LastModifiedDate": 1566914540.044,
"ARN": "arn:aws:ssm:us-east-1:1234567890123:parameter/w1"
}
}
real 0m0.811s
user 0m0.509s
sys 0m0.095s
$ time aws ssm get-parameters --names w1 w2 w3 w4
{
"Parameters": [
{
"Name": "w1",
"Type": "String",
"Value": "say anything",
"Version": 1,
"LastModifiedDate": 1566914540.044,
"ARN": "arn:aws:ssm:us-east-1:1234567890123:parameter/w1"
},
{
"Name": "w2",
"Type": "String",
"Value": "say nothing",
"Version": 1,
"LastModifiedDate": 1566914550.377,
"ARN": "arn:aws:ssm:us-east-1:1234567890123:parameter/w2"
},
{
"Name": "w3",
"Type": "String",
"Value": "say what",
"Version": 1,
"LastModifiedDate": 1566914561.301,
"ARN": "arn:aws:ssm:us-east-1:1234567890123:parameter/w3"
},
{
"Name": "w4",
"Type": "String",
"Value": "say hello",
"Version": 1,
"LastModifiedDate": 1566914574.716,
"ARN": "arn:aws:ssm:us-east-1:1234567890123:parameter/w4"
}
],
"InvalidParameters": []
}
real 0m0.887s
user 0m0.561s
sys 0m0.097s
推荐阅读
- git - 将功能分支拉入我的另一个功能分支
- gitlab - 在 Gitlab CI 中,你能从触发的作业中“拉”出工件吗?
- java - 摆脱 java.lang.OutOfMemoryError:Java 中递归函数中的 Java 堆空间错误
- python - 如何按相邻值分割矩阵?
- sql-server - SQL Server:选择同一列中具有相同值的 2 行的最大日期/时间
- objective-c - 退出 if 语句时内存中的指针发生了变化
- android - Ionic App.component.html 会话未显示
- javascript - 如何检查 .class 中的第一类成员并使用悬停
- java - Java 内置库中的两个链接如何链接在一起?
- c++ - 如何在 std::unordered_map 中维护 std:: 队列而不丢失对队列所做的更改?