加载参数时提高性能
Improve performance when loading parameters
我正在使用 AWS Parameter Store 来保存我的 Lambda 函数使用的参数(env 变量),实际上有 4 个参数。但是我在加载它们时观察到一些性能问题,仅加载一个参数需要 0.2 到 0.6 秒,这对我的网络应用程序来说是很多时间。
我通过运行这个命令
测量了时间
time aws ssm get-parameter --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
我正在使用 AWS Parameter Store 来保存我的 Lambda 函数使用的参数(env 变量),实际上有 4 个参数。但是我在加载它们时观察到一些性能问题,仅加载一个参数需要 0.2 到 0.6 秒,这对我的网络应用程序来说是很多时间。
我通过运行这个命令
测量了时间time aws ssm get-parameter --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