Amazon web services 在加载参数时提高性能

Amazon web services 在加载参数时提高性能,amazon-web-services,aws-parameter-store,Amazon Web Services,Aws Parameter Store,我使用AWS参数存储来保存Lambda函数(env变量)使用的参数,实际上是4个参数。但我在加载它们时发现了一些性能问题,仅加载一个参数需要0.2到0.6秒,这对我的web应用程序来说是很长的时间 我通过运行这个命令来测量时间 时间aws ssm get参数——名称“样本参数” 我希望加载参数值的时间更少,因为我需要获得4个参数。所以这里是我的问题…将参数作为json文本加载是一个好方法吗?所以我可以把这4个参数放在一个json对象中。 调用get parameter函数时,是否需要采取措施来提

我使用AWS参数存储来保存Lambda函数(env变量)使用的参数,实际上是4个参数。但我在加载它们时发现了一些性能问题,仅加载一个参数需要0.2到0.6秒,这对我的web应用程序来说是很长的时间

我通过运行这个命令来测量时间

时间aws ssm get参数——名称“样本参数”

我希望加载参数值的时间更少,因为我需要获得4个参数。所以这里是我的问题…将参数作为json文本加载是一个好方法吗?所以我可以把这4个参数放在一个json对象中。 调用get parameter函数时,是否需要采取措施来提高性能


谢谢

您可以使用get参数一次获取所有参数。在我的测试中,在一次调用中获取所有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

你能分享你的lambda代码吗?client=boto3.client('ssm')response=client.get_参数(Name=param_Name,WithDecryption=True)return response['parameter']['Value']这是我读取参数的方式,其中param_Name是参数的名称。此外,在使用cli之前,我使用了X射线来检测问题,正如我前面提到的。感谢您的回复,实际上我是通过路径获得参数的,因为我只需要一组参数。但你的回答真的很有帮助:)。