OnCorretor 3.0.0.0

De MSTECH wiki
Revisão de 13h55min de 2 de dezembro de 2016 por Andre.iguera (Discussão | contribs) (Resultado dos testes)

Ir para: navegação, pesquisa

Sistemas Verificados

  • OnCorretor 3.0.0.0

Verificação de Desempenho

Observação do teste

Durante a construção dos cenários de testes foram encontrados alguns bugs, segue relação dos mesmos abaixo:

Log 1

Message:Object reference not set to an instance of an object.
Source error:App_Web_qlczfjuy
Stack Trace:   at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.<>c__DisplayClass38.<>c__DisplayClass3a.<Execute>b__2c(ContentQueryResultItem ci) in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 200
  at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
  at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
  at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
  at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.<>c__DisplayClass38.<>c__DisplayClass3a.<Execute>b__29(TextWriter __razor_template_writer) in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 200
  at System.Web.WebPages.HelperResult.ToString()
  at MStech.CMS.Web.HtmlTemplate`1.WriteTo(HtmlTextWriter writer)
  at MStech.CMS.Web.UI.WidgetView.Render(HtmlTextWriter writer)
  at System.Web.WebPages.WebPageBase.Write(HelperResult result)
  at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.Execute() in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 38
  at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
  at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
  at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
  at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
  at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
  at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
  at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)

Log 2

  • Erro ao migrar Log
Message:Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were    loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.
Source error:EntityFramework
Stack Trace:   at System.Data.Entity.Internal.InternalContext.SaveChanges()
  at MStech.CMS.Web.Data.Entity.LogErrorsRepository.ArquivarLogs()
  at MStech.CMS.Web.ServiceModel.JobsQuartz.MigrarLog.Execute(IJobExecutionContext context)
Inner exception:Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities  were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.
Message:Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.
Source error:EntityFramework
Stack Trace:   at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.ValidateRowsAffected(Int64 rowsAffected, UpdateCommand source)
  at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
  at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction,  Boolean releaseConnectionOnSuccess)
  at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean  startLocalTransaction)
  at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
  at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction)
  at System.Data.Entity.Internal.InternalContext.SaveChanges()

Log 3

  • Erro na aplicação. Por favor, entre em contato com o suporte.
Message:A potentially dangerous Request.Path value was detected from the client (&).
Source error:System.Web
Stack Trace:   at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
  at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

Log 4

*Message:'Newtonsoft.Json.Linq.JValue' does not contain a definition for 'id'
Source error:Anonymously Hosted DynamicMethods Assembly
Stack Trace:   at CallSite.Target(Closure , CallSite , Object )
  at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
  at CallSite.Target(Closure , CallSite , Object )
  at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.<>c__DisplayClass38.<>c__DisplayClass3a.<Execute>b__2a(Object x) in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 175
  at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
  at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
  at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
  at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.<>c__DisplayClass38.<>c__DisplayClass3a.<Execute>b__29(TextWriter __razor_template_writer) in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 175
  at System.Web.WebPages.HelperResult.ToString()
  at MStech.CMS.Web.HtmlTemplate`1.WriteTo(HtmlTextWriter writer)
  at MStech.CMS.Web.UI.WidgetView.Render(HtmlTextWriter writer)
  at System.Web.WebPages.WebPageBase.Write(HelperResult result)
  at ASP._Page_content_widgets_banners_BannerCarrossel_index_cshtml.Execute() in \\ds-ht04\webteste\sites\OnCorretor\Construtor\Content\widgets\banners\BannerCarrossel\index.cshtml:line 38
  at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
  at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
  at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
  at MStech.CMS.Web.WidgetHtmlExtensions.SaveWidgetHtml(Controller controller, WidgetInstance widget, String viewName, Object model)
  at MStech.CMS.Web.Controllers.WidgetController.GenericChildAction(Int32 id, WidgetInstance wgi)
  at lambda_method(Closure , ControllerBase , Object[] )
  at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
  at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20()
  at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)

Log 5

Message:An error occurred when trying to create a controller of type 'MStech.CMS.Web.Controllers.DynamicUIController'. Make sure that the controller has a parameterless public constructor.
Source error:System.Web.Mvc
Stack Trace:   at System.Web.Mvc.DefaultControllerFactory.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType)
  at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
  at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
  at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
  at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
  at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Inner exception:No parameterless constructor defined for this object.
Message:No parameterless constructor defined for this object.
Source error:mscorlib
Stack Trace:   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached,  RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
  at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
  at System.Activator.CreateInstance(Type type, Boolean nonPublic)
  at System.Activator.CreateInstance(Type type)
  at System.Web.Mvc.DefaultControllerFactory.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType)

Log 6

  • Erro ao construir a URL de integração com o Venda Online na Landing Page grupoabc do site mbs-abc.com.br
Message:Sequence contains no elements
Source error:System.Core
Stack Trace:   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
  at ASP._Page_Views_LandingPage_LandingPageLayout3_cshtml.Execute() in \\ds- ht04\webteste\sites\OnCorretor\Construtor\Views\LandingPage\LandingPageLayout3.cshtml:line 269


Para a realização dos testes foram utilizados:

  • 1 Servidor SQL
  • 8 Servidores WEB
  • 1 Controller
  • 1 Test agent

Análise do teste

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Cenários de uso

Cenário: Acesso a home (usuário)
Ação realizada Think Time: Atraso constante (segundos) Think Time: Desvio (segundos)
01 - Acessar site do corretor 5 1
01 - Acessar um item do menu 10 3
01 - Acessar um item do menu 10 3
01 - Acessar um item do menu 10 3
01 - Acessar um item do menu 10 3
Cenário: Editar página corretora (corretor)
02 - Acessar tela de login 5 1
02 - Realizar login 3 10
02 - Clicar em "Editar página" 5 1
02 - Clicar para exibir componentes 5 1
02 - Adicionar componente banner 5 1
02 - Adicionar banner 8 2
02 - Salvar 10 2
02 - Logout 5 1

TOP queries mais lentas

  • Item 1

Média de CPU 00:00:00.260 / Tempo decorrido 00:00:07.113

(@p__linq__0 datetime2(7))SELECT 
   [Extent1].[ID] AS [ID], 
   [Extent1].[LogErrorsType] AS [LogErrorsType], 
   [Extent1].[Message] AS [Message], 
   [Extent1].[MessageDetail] AS [MessageDetail], 
   [Extent1].[Logged] AS [Logged], 
   [Extent1].[WebId] AS [WebId]
   FROM [dbo].[LogErrors] AS [Extent1]
   WHERE [Extent1].[Logged] < @p__linq__0
  • Item 2

Média de CPU 00:00:00.250 / Tempo decorrido 00:00:00:383

SELECT ShareID FROM dna_ContentDataItems WHERE ShareID in 
('60fe13b5-12fe-47d7-ace1-03e7d410b30e','b8bd3b95-7a94-4f69-b3b6-0492a91a6188',
'1cf3843a-218e-420d-a496-05498470f3fc','369216b5-24e6-4c0d-9ecb-0c2eea6d9330',
'bb8a1944-a304-4003-9905-176e60c37bd0','bbe3da72-e92b-4ead-910b-22fe049a5287',
'02c21b43-7e98-41ab-a931-234d71312197','cc87d018-39e2-49b7-b2af-23a7a8b56558',
'59fb5ebb-6972-4405-99f7-2498695c9d4c','4dbb1abc-2be2-47dd-a7dd-260a4a97fedc',
'9f5204e7-a93f-488b-8d39-2a0108e62072','cd980489-60c4-42ea-a5e9-395f66f7bc85',
'243d692a-6e24-4b76-8d2f-3bc872fca2d9','b839e845-2153-4b19-80f4-3e5e53bee6de',
'21c4e8b0-efe2-4f5f-a917-43fbbc1ab909','b2a6c7d9-6faa-4d3c-96a6-46e8863f8aea',
'c5a82a38-1371-46ab-8164-477a72763a0b','92ff54e6-c647-4ace-98c2-48085afdde2a',
'dcb4fd07-aac3-46ec-9137-4a90dfe4fc3b','8f56ae73-ea2b-415d-b772-4bed0d9e505d',
'5ff656e2-f14f-465b-8428-5543e936e1f2','e4d2a28c-63a3-472f-97e8-5817fd11e33b',
'44327975-0932-482d-aefb-60692e518b0a','91e376bc-8259-4827-943c-62b7221e86f2',
'0a983fbe-0ee4-4129-82b0-661ccd1cf7af','394cf071-428e-4af9-8aa4-6b7237fb715d',
'b3cef7f1-6bdc-4b1b-960a-71a3f47765ef','736a6761-0f9f-4d7f-9dc8-745431d8d3d7',
'97eeb60b-99fe-4149-b16a-81206c16d723','fa61aa3e-c045-4056-870c-81eb8e3535f0',
'f72e1512-56c4-4999-9515-95672a0767a4','329d36d0-1a99-436e-b733-9723d0c160f6',
'2b71bd0e-8b32-4c50-b7e0-991a28b7bc14','503b2711-bed0-4d6b-be6d-9f6bd4f792cb',
'7c973f33-4dca-4a61-a691-a067a0e6ffe0','7e72d5ff-477e-4b54-8fc1-aa9965a47dd3',
'ff55997a-361b-4a62-a92e-aecaafa33a6c','4d3099d5-07fd-4553-ab39-af049c7a1ff1',
'8485f7d9-66fb-4dbd-ab58-b4df8b79a849','5402d404-23f7-44ed-8221-b89a926d8388',
'ce7f8ae8-6bd1-4243-b7df-bc863d4520a4','e0488c72-4b5c-4b0d-8505-bca2852263ff',
'b2bbd63a-630b-4033-9621-bf6c26100665','fe709cd6-27e9-43e6-8bdc-c0ff6582cd66',
'f930495c-5f92-4639-a1e1-c27057dcade1','76925fc3-c174-4e33-a744-c498234a80fa',
'0cdac002-fa37-489a-9082-c50a33905014','44c23d09-6e0f-4c2b-bacd-ca1f00b749e4',
'c28afc8c-d00c-46a1-ab04-cb27f3c75230','a99e4394-be19-4245-90e9-cf2ce6d14348',
'5a1cf8ee-af83-4927-80a9-d62ba67fc287','19dbde2e-fda9-44bb-84ac-d84d84103e13',
'c4591219-9eb8-4888-86c8-e3c83a11ee5f','ff33510d-5df3-4dcc-8477-e431b02f37a4',
'cd5f9db9-1d99-47e0-a0a0-e5b456ae42d7','4981ca97-ae60-4e73-929b-eaef96985d72',
'e2226a3d-c516-4b89-a648-eb2842fab746','da61a3c7-9908-4ddc-a824-ef237ab95748',
'96831f46-0733-4a8b-96db-f39c6ad7cbe2','eab97894-5db2-4600-9a17-f4c823c778c5',
'2e58249d-20a7-4168-87c0-f8e58a02eb8b','f1a0d47c-3f31-4615-bc65-fbfb21f0a466',
'6bf8b19b-48d7-4688-8a06-fd3fb10e9ae1')
  • Item 3

Média de CPU: 00:00:00.187 / Tempo decorrido: 00:00:00.207

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [ID]
     ,[LogErrorsType]
     ,[Message]
     ,[MessageDetail]
     ,[Logged]
     ,[WebId]
 FROM [OnCorretor].[dbo].[LogErrors]
 where logged >'2016-11-30 18:20:00'


Resultado dos testes

Nesta seção serão apresentados os resultados obtidos da execução dos testes.

  • Processador e disco
Contador: Porcentagem de tempo ocioso
Descrição: Este contador fornece quanto tempo o disco permaneceu em estado de repouso, ou seja, todos os pedidos do sistema operacional para o disco ter sido concluída e há zero de pedidos pendentes. Este contador varia de 100 (ou seja, sempre ocioso) para 0 (ou seja, sempre ocupado).
Limite recomendado: Abaixo de 75 %.
Análise:

2016-12-02 Tempo ocioso OnCorretor 50.png 2016-12-02 Tempo ocioso OnCorretor 100.png 2016-12-02 Tempo ocioso OnCorretor 100 C2.png


Contador: Porcentagem de espaço livre
Descrição: Mostra a porcentagem do espaço total utilizável no disco lógico selecionado.
Limite recomendado: Acima de 25%.
Análise:

2016-12-02 Espaço livre OnCorretor 50.png 2016-12-02 Espaço livre OnCorretor 100.png 2016-12-02 Espaço livre OnCorretor 100 C2.png


Contador: Tempo total do processador
Descrição: Mede a utilização da CPU de cada processador.
Limite recomendado: Não exceder 80% por mais de 10 minutos ao longo do período de teste.
Análise:



Contador: Mudança de contexto
Descrição: A mudança de contexto ocorre quando o kernel muda o processador de um segmento para outro, por exemplo, quando um segmento com uma prioridade maior do que o segmento em execução torna-se pronto.
Limite recomendado: Quanto menor melhor.
Análise:

2016-12-02 Mudança contexto OnCorretor 50.png 2016-12-02 Mudança contexto OnCorretor 100.png 2016-12-02 Mudança contexto OnCorretor 100 C2.png


  • Memória
Contador: Páginas/segundo
Descrição: Mede o número de páginas por segundo que são paginadas fora da memória RAM para a memória virtual.
Limite recomendado: Se o número for alto indica falhas graves. O limite normalmente é de 20 páginas/s
Análise:

2016-12-02 Paginas segundo OnCorretor 50.png 2016-12-02 Paginas segundo OnCorretor 100.png 2016-12-02 Paginas segundo OnCorretor 100 C2.png


Contador: % Memória virtual comprometida
Descrição: Indica a percentagem da memória comprometida utilizada dentro do limite dado pela soma da memória RAM e Page File.
Limite recomendado: Abaixo de 75% e que não tenha grande variação no indicador.
Análise:

2016-12-02 Memoria comprometida OnCorretor 50.png 2016-12-02 Memoria comprometida OnCorretor 100.png 2016-12-02 Memoria comprometida OnCorretor 100 C2.png


Contador: Memória disponível em MBytes
Descrição: Indica quantidade de memória disponível para alocação em MBytes.
Limite recomendado: Se o valor for inferior a 20/25 por cento de RAM instalada é uma indicação de memória insuficiente. Menos de 100 MB é uma indicação de que o sistema é muito carente de memória e paginação.
Análise:

2016-12-02 Memoria disponivel OnCorretor 50.png 2016-12-02 Memoria disponivel OnCorretor 100.png 2016-12-02 Memoria disponivel OnCorretor 100 C2.png


  • Network
Contador: Kbytes totais pela interface de rede
Descrição: Indica quantos Kbytes foram enviados e recebidos a cada segundo pela interface de rede.
Limite recomendado: Menor que 5 Mbytes para uma rede de 100Mbps, menor que 50 Mbytes para uma rede de 1000 Mbps. (Quanto menor melhor).
Análise:



Contador: Falhas de conexão (TCP)
Descrição: Este é o número bruto de conexões TCP que falharam desde que o servidor foi iniciado. Uma falha normalmente indica uma perda de dados em lugar no processo. A perda pode ocorrer em muitos locais. Esta poderia ser uma indicação de um outro dispositivo que está sendo para baixo, ou problemas com a configuração do lado do cliente do software.
Limite recomendado: Quanto menor melhor.
Análise:


  • ARR
Contador: Current application pool uptime
Descrição: Permite que você veja se o pedido foi reiniciado ou não.
Limite recomendado:
Análise:


2016-12-02 Pool Uptime OnCorretor 50.png 2016-12-02 Pool Uptime OnCorretor 100.png 2016-12-02 Pool Uptime OnCorretor 100 C2.png


  • SQL
Contador: Expectativa de vida da página
Descrição: Indica o número em segundos que uma página vai ficar na área de buffers, sem referências.
Limite recomendado: Quanto menor melhor.
Análise:

2016-12-02 SQL Expectativa OnCorretor 50.png 2016-12-02 SQL Expectativa OnCorretor 100.png 2016-12-02 SQL Expectativa OnCorretor 100 C2.png


  • ASP.NET
Contador: Request por segundo
Descrição: Indica o número de requests por segundo.
Limite recomendado: Quanto maior melhor. Em caso de utilização de mais de um servidor web deve-se estar próximo a quantidade de requests.
Análise:


  • Aplicação
Dado: Sampler
Descrição: Informa a quantidade threads.
Limite recomendado: A maior quantidade de requisições está no acesso a home, realização do login, acesso a notícia e acesso a uma tela do menu.

2016-12-02 Jmeter Sampler OnCorretor 50.png 2016-12-02 Jmeter Sampler OnCorretor 100.png 2016-12-02 Jmeter Sampler OnCorretor 100 C2.png


Dado: Tempo médio de resposta
Descrição: Informa o tempo médio de resposta.
Limite recomendado: Quanto menor melhor.

2016-12-02 Jmeter Responde time OnCorretor 50.png 2016-12-02 Jmeter Responde time OnCorretor 100.png 2016-12-02 Jmeter Responde time OnCorretor 100 C2.png


Dado: 90% dos melhores tempos de resposta
Descrição: Informa os 90% melhores tempos de respostas.
Limite recomendado: Quanto menor melhor.


Dado: Vazão
Descrição: Informa a quantidade de dados transferidos.

2016-12-02 Jmeter Vazao OnCorretor 50.png 2016-12-02 Jmeter Vazao OnCorretor 100.png 2016-12-02 Jmeter Vazao OnCorretor 100 C2.png