1

超慢表现为图像和所以我一直有很慢的演出场所,当使用内一把umbraco的ImageProcessor涉及到图像加载,调整大小和大量缓存图像(ImageProcessor)

目前正在使用:

  • 一把umbraco 7.4.3
  • AWSSDK.Core 3.3.11
  • AWSSDK.S3 3.3.5.11
  • ImageProcessor 2.5.3
  • ImageProcessor.Web 4.8。 3
  • Umbraco.Storage.S3 1.0.23(不再维护?)

CloudFront不会缓存图像(自定义起源不会从我所了解的缓存中获取),所以为了避免网站崩溃,我在CloudFront和Umbraco服务器之间有一个NGINX服务器(它位于标准AWS负载平衡器)。

很难想象2 x c4.xlarge实例无法即时处理图像。

有一件事我注意到,有时会发生如下: Log snippet

我只是把一双新的AWS访问键,看它是否会令任何区别,但遗憾的是,仍然缓慢。即使后台花费时间来加载内容选项卡和媒体选项卡中图像的预览。

配置方面,我已经三重反对什么,我发现在互联网上检查(用于FileSystemProviders和ImageProcessor CONFIGS)。

Imageprocessor缓存配置:

<?xml version="1.0" encoding="utf-8" ?> 
<!-- For more information on using transformations 
    see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. --> 
<caching xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" currentCache="AmazonS3Cache" xdt:Transform="Replace"> 
    <caches> 
    <cache name="AmazonS3Cache" type="formula_e.web.cms.Core.ImageProcessor.AmazonS3Cache, formula-e.web.cms" maxDays="365" xdt:Locator="Match(name)" xdt:Transform="Replace"> 
     <settings> 
     <setting key="AwsAccessKey" value="XXXXXXX" /> 
     <setting key="AwsSecretKey" value="XXXXXXX" /> 
     <setting key="AwsBucketName" value="XXXXXXX" /> 
     <setting key="AwsEndpoint" value="http://XXXXXXX.s3.amazonaws.com/" /> 
     <setting key="AwsBucketFolder" value="cache-live" /> 
     <setting key="CachedCDNRoot" value="http://XXXXXXX.cloudfront.net" /> 
     <setting key="StreamCachedImage" value="true" /> 
     </settings> 
    </cache> 
    </caches> 
</caching> 

Imageprocessor安全配置:

<?xml version="1.0" encoding="utf-8" ?> 
<!-- For more information on using transformations 
    see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. --> 
<security xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <services xdt:Transform="Replace"> 
    <service prefix="media/" name="CloudImageService" type="ImageProcessor.Web.Services.CloudImageService, ImageProcessor.Web"> 
     <settings> 
     <setting key="MaxBytes" value="41943040"/> 
     <setting key="Timeout" value="30000"/> 
     <setting key="Host" value="http://XXXXXXX.s3.amazonaws.com/media/"/> 
     </settings> 
    </service> 
    </services> 
</security> 

Filesytemproviders配置:

<?xml version="1.0" encoding="utf-8" ?> 
<!-- For more information on using transformations 
    see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. --> 
<FileSystemProviders xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <Provider alias="media" type="Umbraco.Storage.S3.BucketFileSystem, Umbraco.Storage.S3" xdt:Locator="Match(alias)" xdt:Transform="Replace"> 
    <Parameters> 
     <!-- S3 Bucket Name --> 
     <add key="bucketName" value="XXXXXXX" /> 
     <!-- S3 Bucket Hostname - Used for storage in umbraco's database (Should be blank when using Virtual File Provider) --> 
     <add key="bucketHostName" value="" /> 
     <!-- S3 Object Key Prefix - What should we prefix keys with? --> 
     <add key="bucketKeyPrefix" value="media" /> 
     <!-- AWS Region Endpoint (us-east-1/us-west-1/ap-southeast-2) Important to get right otherwise all API requests will return a 30x response --> 
     <add key="region" value="eu-west-1" /> 
    </Parameters> 
    </Provider> 
</FileSystemProviders> 

我如何去寻找出来的问题是什么?

+0

您是否检查过有关如何将umbraco发布到CDN的文档? – mootmoot

+0

@mootmoot介意分享链接?我继承了这个项目,所以我一直在尽力找出大部分的设置。谢谢 – MrVentzi

+0

请谷歌'umbraco缓存AWS CDN'。 CDN缓存设置并不那么简单。 – mootmoot

回答

1

对于有类似问题的人,整个问题是高速缓存配置文件中,并导致整个系统被执行时,在同一时间被要求几个图像确实慢,由于图像S3被缓存而不是本地。

缓存设置为currentCache =“AmazonS3Cache”,它甚至不是官方的(由JamesSouth确认)。

一旦我在生产机器上放置currentCache =“DiskCache”,一切都按照它应该的方式工作。