Performance issue nopcommerce 4.1 on winhost

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
5 years ago
Hello All,
I have installed nopcommerce 4.1 on shared hosting environment from www.winhost.com and it is running very-very slow. So I contacted the hosting provider and they responded that the application is using very large memory and sent the following log:

A worker process serving application pool 'customerPool_124703' has requested a recycle because it reached its private bytes memory limit.
A worker process serving application pool 'customerPool_124703' has requested a recycle because it reached its private bytes memory limit.
A worker process serving application pool 'customerPool_124703' has requested a recycle because it reached its private bytes memory limit.


I am already at the highest plan offered by winhost. So not sure how to resolve the issue. I have already looked at the following link: https://www.nopcommerce.com/boards/t/54986/nopcommerce-410-high-memory-usage-and-how-weve-handled-it.aspx and "System.GC.Server" property in "Nop.Web.runtimeconfig.json" file is already set to false but the site is still very slow.

Apparently there is no way for winhost to bump the memory because I am already at there highest plan (ultimate with 500MB). I am wondering if anyone else using some other hosting provider to host nopcommerce 4.1 and getting an optimal performance?

thank you!
5 years ago
I use a VPS 4gb WS2012 @ Go Daddy, My initial install seemed sluggish as well but implementing the system.gc.server improved it substantially. As I said 4gb of ram is probably a great benefit as well, it was Net.Core was running @400+mb before i set the gcserver to false which reduced it to 150-200mb. I am finding the data connection is a more likely cause for any sluggish response now.

Is your DB on the same server?
5 years ago
Did you see this post https://www.nopcommerce.com/boards/t/54986/nopcommerce-410-high-memory-usage-and-how-weve-handled-it.aspx
5 years ago
glhays wrote:
I use a VPS 4gb WS2012 @ Go Daddy, My initial install seemed sluggish as well but implementing the system.gc.server improved it substantially. As I said 4gb of ram is probably a great benefit as well, it was Net.Core was running @400+mb before i set the gcserver to false which reduced it to 150-200mb. I am finding the data connection is a more likely cause for any sluggish response now.

Is your DB on the same server?


Thank you very much for your response. system.gc.server property in the "Nop.Web.runtimeconfig.json" file. Here is the snapshot of the file:
{
  "runtimeOptions": {
    "tfm": "netcoreapp2.1",
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "2.1.0"
    },
    "configProperties": {
      "System.GC.Concurrent": false,
      "System.GC.Server": false
    }
  }
}

I am assuming once this setting is updated in the config file, we do not need to make any coding change.
Can you please confirm if you have to make any coding/programming changes on the top of this config setting?

About DB Server on same server: I am not sure because it is hosted on Winhost so not sure how do I find out if the shared hosting environment allows DB on same server, I feel it must be on a different server.


thank you,
Manoj
5 years ago
Yidna wrote:


Thank you very much for your response. Yes, I have looked at this link and "system.gc.server" property in the "Nop.Web.runtimeconfig.json" file is already set to FALSE. Here is the content of the file:

{
  "runtimeOptions": {
    "tfm": "netcoreapp2.1",
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "2.1.0"
    },
    "configProperties": {
      "System.GC.Concurrent": false,
      "System.GC.Server": false
    }
  }
}

I am assuming once this setting is updated in the config file, we do not need to make any coding change.
Can you please confirm if you have to make any coding/programming changes on the top of this config setting?


thank you,
Manoj
5 years ago
I just moved over to a VPS myself and upgraded to Nop410 about a week after. My site went to a crawl at one point with Private Bytes climbing to over 1.2GB. The thing that did the trick was pointing the Web.config to the 32bit instance of dotnet.exe. My ram levels on the 64bit dotnet.exe were idling around 800MB and would climb to 1.2GB before my server would become unstable.

The gotcha i ran into were permissions on the C:\Program Files (x86)\dotnet folder needed to have my AppPool user in the permissions or i would get a 502.5 error when trying to start the site (log will show fail to start command).

So the 32bit version of .NETCore2.1 are installed with 64bit one, so they should be on your server, but the question is if your host is setup for handling the permissions. I would suggest to make the below change to your config and your ram levels will be comparable to what non-dot net IIS stuff was.

<!-- When deploying on Azure, make sure that "dotnet" is installed and the path to it is registered in the PATH environment variable or specify the full path to it -->
    <aspNetCore requestTimeout="23:00:00" processPath="C:\Program Files (x86)\dotnet\dotnet.exe" arguments=".\Nop.Web.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" startupTimeLimit="3600" />
    <httpProtocol>
5 years ago
jonesalexr wrote:
I just moved over to a VPS myself and upgraded to Nop410 about a week after. My site went to a crawl at one point with Private Bytes climbing to over 1.2GB. The thing that did the trick was pointing the Web.config to the 32bit instance of dotnet.exe. My ram levels on the 64bit dotnet.exe were idling around 800MB and would climb to 1.2GB before my server would become unstable.

The gotcha i ran into were permissions on the C:\Program Files (x86)\dotnet folder needed to have my AppPool user in the permissions or i would get a 502.5 error when trying to start the site (log will show fail to start command).

So the 32bit version of .NETCore2.1 are installed with 64bit one, so they should be on your server, but the question is if your host is setup for handling the permissions. I would suggest to make the below change to your config and your ram levels will be comparable to what non-dot net IIS stuff was.

<!-- When deploying on Azure, make sure that "dotnet" is installed and the path to it is registered in the PATH environment variable or specify the full path to it -->
    <aspNetCore requestTimeout="23:00:00" processPath="C:\Program Files (x86)\dotnet\dotnet.exe" arguments=".\Nop.Web.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" startupTimeLimit="3600" />
    <httpProtocol>



Thank you very much for response. I just got a confirmation from my hosting provider - www.winhost.com that by default the application pool already runs in 32-bit mode. Still my test site is super slow :-(
5 years ago
Hi did you fix your issue?
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.