An example of a piece of code which is very slow would be very helpful. Also, please check if you for example load a truckload of data into memory while you shouldn't do so, for example if you're using selfservicing, it might be that you accidently trigger lazy loading and load a lot of data.
Try to narrow down a specific example, and investigate what's executed exactly, which queries are ran on your database by enabling tracing.
Also please check if you're not loading a lot of data into grids for example. Storing 100,000 rows in a grid is really slow and useless: no user can look over 100,000 rows, in that case use paging.