OnCorretor 3.0.0.0
De MSTECH wiki
Revisão de 13h02min de 2 de dezembro de 2016 por Andre.iguera (Discussão | contribs) (Criou página com '== 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 encontr...')
Índice
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:
- O recurso não foi localizado. Por favor, entre em contato com o suporte. - Site: http://1000seguros.com.br/
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)
- 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()
- 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)
*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)
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)
- 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
WITH CTE (Id,PortalId, Visible,Active,Name,[Order],ParentId,Permalink,ComponentId,[Path],[System],RestrictAccess,NoAction,Link,TargetBlank,[State],nivel)
AS ( -- Anchor Member
SELECT Id,
PortalId,
Visible,
Active,
Name,
[Order],
ParentId,
Permalink,
ComponentId,
[Path],
[System],
RestrictAccess,
NoAction,
Link,
TargetBlank,
[State],
0 AS nivel
FROM dbo.Page WITH(NOLOCK)
WHERE ParentId IS NULL AND
PortalId = @portalId AND
[State] = 1 AND --Inicia na página raiz
InternalPage = 0
UNION ALL -- Recursive Member
SELECT child.Id,
child.PortalId,
child.Visible,
child.Active,
child.Name,
child.[Order],
child.ParentId,
child.Permalink,
child.ComponentId,
child.[Path],
child.[System],
child.RestrictAccess,
child.NoAction,
child.Link,
child.TargetBlank,
child.[State],
nivel + 1
FROM dbo.Page AS child WITH(NOLOCK)
INNER JOIN CTE parent ON parent.Id = child.ParentId
WHERE child.PortalId = @portalId AND
child.[State] = 1
)
SELECT cte.Id,
cte.PortalId,
cte.Visible,
cte.Active,
cte.Name,
cte.[Order],
cte.ParentId,
cte.Permalink,
cte.ComponentId,
cte.[Path],
cte.[System],
cte.RestrictAccess,
cte.NoAction,
cte.Link,
cte.TargetBlank,
cte.[State],
cte.nivel,
pagegroup.Id AS PageGroupId,
pagegroup.GroupId
FROM CTE
LEFT JOIN dbo.PageGroup pagegroup WITH(NOLOCK) ON pagegroup.PageId = CTE.Id AND pagegroup.State = 1
ORDER BY cte.[Order]
- Item 2
WHILE (SELECT COUNT(*) FROM [dbo].[Page] WITH(NOLOCK) WHERE PortalId = @PortalId AND Permalink = @permalink) > 0
- Item 3
WHILE (SELECT COUNT(*) FROM News WITH(NOLOCK) WHERE Permalink = @permalink AND PortalId = @PortalId) > 0
- Item 4
SET @RESULTADO = @RESULTADO + (SELECT SUBSTRING(@SEMACENTOS,@QTD,1))
- Item 5
SET @CONT = (SELECT LEN(@COMACENTOS))
- Item 6
SET @LETRA_C = (SELECT SUBSTRING(@COMACENTOS,@QTD,1))
Resultado dos testes
Nesta seção serão apresentados os resultados obtidos da execução dos testes.
- Processador e disco
- Contador: Percentagem 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: Encontra-se ocioso grande parte do tempo.
- Contador: Percentagem 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: Dentro do limite recomendado.
- 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: Dentro do limite recomendado.
- 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: Alta quantidade para a quantidade e usuários utilizando o sistema.
- 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: Os servidores web apresentaram uma grande quantidade de páginas por segundo.
- 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: A aplicação ficou dentro do recomendado.Porém, se for levado em consideração a quantidade de usuários simulados a quantidade de hardware consumido é alta.
- 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: A aplicação ficou dentro do recomendado.
- 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: O servidor de banco de dados consome grande parte da banda larga.
- 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: É possível verificar uma grande quantidade de falhas, porém conforme alinhado com a equipe de dev, os erros ocorrem devido a estrutra utilizada pelo projeto, que dispara um erro/exceção e deste modo direcionada para o site correto.
- ARR
- Contador: Current application pool uptime
- Descrição: Permite que você veja se o pedido foi reiniciado ou não.
- Limite recomendado: Quanto menor melhor.
- Análise: É possível verificar uma grande quantidade de reiniciamento para a quantidade de usuários simulados.
- 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: Aplicação ficou dentro do recomendado.
- Contador: Request bloqueados.
- Descrição: Indica o número dos requests bloqueados durante a execução dos testes.
- Limite recomendado: Quanto menor melhor.
- Análise: Aplicação possui uma grande quantidade de resquests bloqueados para a quantidade de usuário simulada, podendo resultar em deadlock.
- 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: Não há grande variação de request entre os servidores web utilizados nos testes.
- Contador: Total de sessões .
- Descrição: O número total de sessões. Este contador é suportado apenas com estado de sessões na memória.
- Limite recomendado: Proporcional a quantidade de usuários simulados.
- Análise: Aplicação está dentro do recomendado.
- 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.
- Dado: Tempo médio de resposta.
- Descrição: Informa o tempo médio de resposta.
- Limite recomendado: Quanto menor melhor.
- 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.