I have a shared webhosting server based on Windows 2008/IIS 7/Plesk 11.0 .Most of the time Server's CPU usage is over 80% and MS SQL Server process uses most of the CPU/RAM resources. I want to know how I could figure out which website is using more resources and then limit it or terminate it completely.
Is everyone sharing the same application pool? Or do you have it setup to be separate for each site?
Regardless open IIS Manger and click on Worker Processes
If the site are using different pools you will easily be able to see which one is using the most resources. You can also click on the pool from the list and see incoming requests (Pools can also be found in task manger since each individual pool gets corresponding process.)
It would help to know how many websites your hosting and is it shared pool vs dedicated. I usually setup dedicated pools for each site so they can be managed more easily. It can also prevent problems like your having.
You can change a sites app pool by clicking on the site in IIS, and going to basic settings. Click select to pick a new pool. Make sure to add a new pool under Application Pools in IIS beforehand. It will be a v2.0 framework and integrated pool.
For MsSQL you can use the Performance Monitor under the Admin tools to add the counters for each db. To see which one is eating the most cycles.
Go to Add Counters, go to SQLServer:Datbases, you can add each sql database instance individually