First things first... define a list of all changes, no change is too minor.
Once you have that list of changes start backing them out one by one.
Step by step details ehhh... that's a tough one. I am always looking for something obvious. If I see something that looks suspicous I will stop what I am doing and investigate further or I will put it on a white board as a possible problem.
1) Again I always start by creating a list of everything that has changed with every piece of the infrastructure (Firewall, Switch, DB, HotFix, Web Server, ...) If something has changed then I always request that have more information about that change. My guess is you do not have any such information, not that I'm trying to put you down it takes organizations a while before the reach the proper maturity level with their operations to start capturing all changes.
2) Start looking at logs. Since all of my applications are on Windows Server I start by looking at the Application Event Log. I'm looking for application errors. Next I go to the System Event log, again I'm looking for errors. Next I may do an analysis on my IIS logs.... I usualy have the time-taken field enabled in these logs so I focus on long running requests.
3) Next I will look at the DB server. I will ask my DBA to run SQL Profiler to see what queries are taking a long time. I will also ask that they collect information about database locks. I also ask them to check the health of DB (are the indexes up to date, are the tables/indexes fragmented).
4) Next I have Windows Server Admins collect performance counter statistics on Web Server and SQL Server. I want to look for memory leaks, IO queuing, CPU utilization.