Is it a good idea to run both SQL Server and IIS on the same physical server?
Like so many questions, the answer to this question is “it depends.” For ideal performance, and assuming your have a big enough budget, you should put SQL Server and IIS on their own dedicated servers (properly sized).
But if you don’t have the budget for two servers, then one will have to suffice, at least until you get a bigger budget. If the load is not too heavy, then both SQL Server and IIS can co-exist successfully. But at some point, you may find that either SQL Server, IIS, or both, start to experience resource bottlenecks. Assuming that your application is well-tuned, then your only option at this time would be to get a larger server, or split up the duties between multiple servers.