nopCommerce 4.30 RC is available. Please share your impressions

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
Hace 4 años
Thank you for your help. Could you please also enable mini profiler on your RC site, we'll try to investigate a problem reason

[email protected] wrote:
RC is a lot better this time...
Is it possible to get your database backup? So we can test it locally

P.S. Of course, you can delete all sensitive data before sharing it

Sent link to download it in a PM to a.m.
Hace 4 años
As both instances use the same database activating one includes the other. Shall I generate an admin log for you?
Hace 4 años
[email protected] wrote:
Sent link to download it in a PM to a.m.

Thanks. After some investigation we've found out that you have wrong caching settings. You haven't run the upgrade SQL script. Just run it, restart the application, and try one more time
Hace 4 años
Many thanks for discovering what was wrong, but after running the script I now have an error!

An unhandled exception occurred while processing the request.
TypeLoadException: Could not load type 'Nop.Core.Caching.ICacheManager' from assembly 'Nop.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=null'.
System.Signature.GetSignature(Void* pCorSig, int cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
DependencyResolutionException: An exception was thrown while activating Nop.Plugin.Widgets.RevolutionSlider.Services.ProductSliderService.
Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable<Parameter> parameters, out object decoratorTarget)
Stack Query Cookies Headers Routing
TypeLoadException: Could not load type 'Nop.Core.Caching.ICacheManager' from assembly 'Nop.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=null'.
System.Signature.GetSignature(Void* pCorSig, int cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
System.Reflection.RuntimeConstructorInfo.get_Signature()
System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy()
System.Reflection.RuntimeConstructorInfo.GetParameters()
Autofac.Core.Activators.Reflection.ConstructorParameterBinding..ctor(ConstructorInfo ci, IEnumerable<Parameter> availableParameters, IComponentContext context)
Autofac.Core.Activators.Reflection.ReflectionActivator.GetValidConstructorBindings(ConstructorInfo[] availableConstructors, IComponentContext context, IEnumerable<Parameter> parameters)
Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable<Parameter> parameters)
Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable<Parameter> parameters, out object decoratorTarget)

Show raw exception details
DependencyResolutionException: An exception was thrown while activating Nop.Plugin.Widgets.RevolutionSlider.Services.ProductSliderService.
Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable<Parameter> parameters, out object decoratorTarget)
Autofac.Core.Resolving.InstanceLookup+<>c__DisplayClass7_0.<Execute>b__0()
Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func<object> creator)
Autofac.Core.Resolving.InstanceLookup.Execute()
Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
Autofac.Core.Resolving.ResolveOperation.Execute(ResolveRequest request)
Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable<Parameter> parameters, out object instance)
Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable<Parameter> parameters)
Autofac.ResolutionExtensions.ResolveOptional(IComponentContext context, Type serviceType, IEnumerable<Parameter> parameters)
Autofac.ResolutionExtensions.ResolveOptional(IComponentContext context, Type serviceType)
Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetService(Type serviceType)
Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, bool isDefaultParameterRequired)
lambda_method(Closure , IServiceProvider , object[] )
Microsoft.AspNetCore.Mvc.Infrastructure.TypeActivatorCache.CreateInstance<TInstance>(IServiceProvider serviceProvider, Type implementationType)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentActivator.Create(ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentFactory.CreateViewComponent(ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentInvoker.InvokeSyncCore(ObjectMethodExecutor executor, ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentInvoker.InvokeAsync(ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentHelper.InvokeCoreAsync(ViewComponentDescriptor descriptor, object arguments)
AspNetCore.Views_Shared_Components_Widget_Default.ExecuteAsync() in Default.cshtml
+
    @await Component.InvokeAsync(widget.WidgetViewComponentName, widget.WidgetViewComponentArguments);
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, bool invokeViewStarts)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.ViewViewComponentResult.ExecuteAsync(ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentInvoker.InvokeAsync(ViewComponentContext context)
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentHelper.InvokeCoreAsync(ViewComponentDescriptor descriptor, object arguments)
AspNetCore.Views_Home_Index.ExecuteAsync() in Index.cshtml
+
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageTop })
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, bool invokeViewStarts)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0<TFilter, TFilterAsync>(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<TFilter, TFilterAsync>(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
WebMarkupMin.AspNetCore3.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, bool useMinification, bool useCompression)
WebMarkupMin.AspNetCore3.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, bool useMinification, bool useCompression)
WebMarkupMin.AspNetCore3.WebMarkupMinMiddlewareBase.Invoke(HttpContext context)
StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in MiniProfilerMiddleware.cs
Nop.Services.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) in AuthenticationMiddleware.cs
Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
Nop.Services.Installation.InstallUrlMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in InstallUrlMiddleware.cs
Nop.Services.Common.KeepAliveMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in KeepAliveMiddleware.cs
Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Hace 4 años
I've deleted plugins.json and restarted. It is working again. Still slower though 2980ms against 935.2ms to move from front page to jackets category. This is a lot better, though still not as quick as the beta.
Hace 4 años
3 times slower? Please keep that speed in mind. I showcased your beta site to a customer and he said it's the faster ecommerce platform they have seem
Hace 4 años
vchigne wrote:
3 times slower? Please keep that speed in mind. I showcased your beta site to a customer and he said it's the faster ecommerce platform they have seem


Yes it is still slower but it has improved a lot since I ran the missing database update, though I'd swear I had previously applied those; it seems I was mistaken.
Overall Beta still remains faster and I'm desperate to achieve that performance in RC; however, the demo RC using test data was generally slower than my Beta. Returning to a category page after viewing a product is the only thing it seemed to be quicker taking 126.3ms against 239ms in beta and 530ms in RC. This demo didn't have the same data so not a like for like comparison.
I therefore cloned the database and the images so now I have 3 versions to try:
http://wchd.mctours.eu - This was the RC demo now using the WCHD data (shared 2016 server)
http://wchdrc.brianwatson.eu - This is the RC version (exclusive 2019 server)
http://wchd.brianwatson.eu - This is the Beta version (same 2019 server as above)
In all versions you now have the load times showing top left corner and so you can run identical tests on all 3 and compare the results.
I think although still slower customers could live with this performance but administration is still going to be slower and that isn't good!
Hace 3 años
[email protected] wrote:
...

The latest version of the "develop" branch is not slower than BETA

Please note that the BETA package had pre-compiled views and RC don't. It was done accidentally and was fixed later (commit). If you don't want to pre-combile views, then just revert back this commit and re-deploy the website. nopCommerce will become faster but you won't be able to edit cshtml files
Hace 3 años
Thank you for explaining why there is a difference. Moving forward I do not want to deviate from the end product. Ideally, my client should manage to engage any nopCommerce developer to update or maintain their solution, if I am unable to do so. Having a non standard solution would add an extra layer of complication and make this potentially more difficult for them in the long term.
Hace 3 años
a.m. wrote:
...
The latest version of the "develop" branch is not slower than BETA

Please note that the BETA package had pre-compiled views and RC don't. It was done accidentally and was fixed later (commit). If you don't want to pre-combile views, then just revert back this commit and re-deploy the website. nopCommerce will become faster but you won't be able to edit cshtml files


Just to clearify: You mean "but you won't be able to edit cshtml files" - live on the website. ? Right?
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.