I have worked on some very large DotNetNuke websites (100k+ users), and while performance is typically fairly good, there are times when the websites are very slow, and in some cases the pages "timeout".
Many times the performance of the website is directly attributable to the performance of the database. Often this is due to the volatile nature of your database resulting in the table indexes becoming fragmented. This means that look up queries could run slower over time.
If you are experiencing performance issues coming from your database, check the fragmentation on your indexes on your DNN tables (particularly those associated with your user accounts). Below is the SQL Server 2005 interface for viewing index fragmentation (on an AdventureWorks table).

While this interface (above) is useful for a looking at a few tables, one at a time, there are quite a few DNN tables in a typical installation, and this can get tedious. Here is an excellent article, "Queries Dragging? Try Defragging", in SQL Server Magazine (InstantDoc 96059), by Eric Peterson, with a downloadable stored procedure that you can use to analyze and tune the fragmentation of your table indexes. The stored procedure will save you a lot of time in analyzing and defragging tables.