4
votes

I'm running a Windows 2008 server (a VPS with 1GB of RAM), with SQL Server Express and IIS 7 installed. On it I'm hosting a NopCommerce 1.7 website, with a database of around 26 000 products.

Right now I'm the only user of the website (it's in development) and I'm getting rather bad performance from it. To be more specific every time I make a request, the worker process goes to 90-100% CPU usage for a few seconds. Is it me or this is a lot for a 1 user NopCommerce website? Any ideas why this happens and what I can do to rectify it or further investigate?

PS: the worker process uses between 100MB-400MB of memory (private working set), and SQL Server with this database, around 160MB. Do you have any suggestions other then the obvious one to get more RAM? I intend to get one more GB but I fear this will not solve the cpu usage problem.

1
I don't mean to state the obvious but get more RAM, please. At least another 3GB. The poor server.Marko
right now the server is useing 1.6 GB of memory (commited). This means that at least 600MB is on the disk. I was thinking of getting 1 GB since that should cover the current memory requirements. Any reason why I would be getting an extra 3GB? The budget isn't exactly very largeTudor Carean
Sorry I am new to sharepoint and I usually attach to this process to debug my portal, thank you I had the chance to read about it and know it's the IIS worker process. I voted to delete my post, good luck.A_Nabelsi
What CPU allocation do you have on the VPS?Greg B
Did you solve this? I'm having similar issues on certain admin pages. The customer list is one of them and there are only users in there at the moment!!Andrew

1 Answers

5
votes

You've already stated you're going to get more RAM, but don't be surprised how much a lack of RAM can impact the CPU. If your RAM is not able to hold large objects efficiently because of lack of space (and I'd say using 40% of available RAM qualifies), then the CPU has to work harder to page things in and out of virtual memory. 90% is a little overkill for this, but with the server specs you give it's not impossible.

The most likely problem is that there is a hole in your code somewhere. My guess is that you have either an infinite loop or a direct memory leak (resources open during requests that aren't closed perhaps?). Your best bet would be to get the IIS Debug Diagnostics tool, install it and set up reports to find out what is going on directly on the server.