Azure应用程序服务-更高的应用程序服务计划的性能较差

时间:2018-07-30 10:14:39

标签: performance azure umbraco umbraco-ucommerce

我们在Azure中有两个具有这种配置的环境(都位于西欧):

测试:

  • 应用程序服务(基于计划Basic 1)
  • SQL数据库(在标准S0上)
  • CDN(在标准Verizon上)

阶段:

  • 应用服务(按计划标准1)
  • SQL数据库(在标准S3上)
  • CDN(在标准Verizon上)

我们部署了相同的基于Umbraco + uCommerce的Web应用程序代码,但是在Stage环境中的性能要比在测试环境中差得多。在使用uCommerce API的页面上,性能最差。 Umbraco和uCommerce中的内容是相同的。在测试中,后端处理时间少于1秒,而在舞台上则约为20秒。我们在这些环境之间找不到任何配置差异。我可能会出什么问题?我们如何找到导致问题的原因?

编辑:

即使AzureCDNToolkit:CdnUrl值有效,Umbraco日志也会显示许多此类错误:

2018-07-30 13:07:20,429 [P9292/D2/T31] ERROR Our.Umbraco.AzureCDNToolkit.UrlHelperRenderExtensions - Error resolving media url from the CDN System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at Our.Umbraco.AzureCDNToolkit.UrlHelperRenderExtensions.<>c__DisplayClass6_1.b__0() at Our.Umbraco.AzureCDNToolkit.UrlHelperRenderExtensions.TryFiveTimes(Action delegateAction) at Our.Umbraco.AzureCDNToolkit.UrlHelperRenderExtensions.UrlToCdnUrl(String cropUrl, Boolean htmlEncode, String currentDomain)

修改 一段时间后,我发现一个问题:Azure使用TLS 1.2作为Azure Service的默认配置,因此要使其起作用,我要做的就是在应用程序启动时添加以下行: ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

0 个答案:

没有答案