从实时服务器下载速度非常慢

时间:2016-09-17 23:06:47

标签: amazon-web-services amazon-s3 asp.net-mvc-5

这是我的控制器......

public ActionResult RequestImage(string url, int width, int height)
{
    Stream stream = fileService.Request(url, width, height);

    return new FileStreamResult(stream, "image/jpg");
}

文件服务......

public Stream Request(string url, int width, int height)
{

    var request = new S3StorageRequest(url, null, null);

    var stream = s3Service.Request(request);

    var outputStream = new MemoryStream();

    var settings = $"maxwidth={width}";

    if (height > 0)
    {
        settings = string.Concat(settings, $"&maxheight={height}");
    }

    imageResizer.Build(stream, outputStream, settings);

    stream.Dispose();

    outputStream.Position = 0;

    return outputStream;
}

S3请求...

public Stream Request(S3StorageRequest s3Request)
{
    GetObjectRequest request = new GetObjectRequest { BucketName = bucketName };

    request.Key = s3Request.Path;

    GetObjectResponse response = S3Client.GetObject(request);

    return response.ResponseStream;
}

当我在本地运行它(它仍在通过互联网从S3下载)时,S3请求大约需要130毫秒(低至78毫秒)。

图像大小调整大约需要50ms。

以下是根据浏览器的请求...

enter image description here

在实时服务器上,这就是浏览器所说的......

enter image description here

它是一个t2.micro实例,我的Windows实例是通过Parallels在2.4Gz i5上运行的。任何想法它为2s做了什么? TTFB可以降至854毫秒左右。

没有图像大小调整和下载,大约450ms。因此调整图像大小或文件响应似乎很慢。

0 个答案:

没有答案