Tony Valenti wrote
Hi Zhaodengpan,
While you are correct that DotNetNuke runs slower than a regular ASP.NET webpage, the reason that is true is that DotNetNuke has a lot more features than most regular ASP.NET websites. It is like comparing Windows and DOS - DOS is a whole lot faster than windows, but Windows has a LOT more features than DOS. For a more comparitive look at DotNetNuke's performance, instead of comparing it to an ASP.NET website, compare it to a standard Sharepoint installation.
Also, even though DotNetNuke might not be as fast as the standard ASP.NET pages that you tested, take a look at what those numbers really mean. Your non-cached DotNetNuke page was handing 49.2 requests per second. While it is "only" 1/8th of your standard ASP page, you're going to need some pretty heavy usage in order to max that out, and when you do, you're going to want to be running on a cluster anyway.
Yes, you are rigth. Everything is a tradeoff.
But the simplest tested dnn page has another 4 requests (total is 5,plus itself) and the cost for 4 requests in dnn page and in tested asp.net page is same. If I can just test home page except the 4 requests, the difference will be bigger than 8 times.
It is the point that the simplest dnn page access db over 100 times and some script is duplicated. The follow list is the sql script executed every refreshing of tested dnn page. The "EventClass" of trace result is "RPC:Completed". I mean that dnn can do performance better. In my opinion, most access of dnn sys table is read. The dnn sys table can be cached in memory. For example, using asp.net sqldependency cache. If you use page levle cache, sometime you will get stale content.
exec sp_reset_connection
exec dbo.dnn_GetHostSettings
exec sp_reset_connection
exec dbo.dnn_GetSchedule @Server='JG'
exec sp_reset_connection
exec dbo.dnn_GetScheduleNextTask @Server='JG'
exec sp_reset_connection
exec dbo.dnn_GetTab @TabId=56
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetPortalAliasByPortalID @PortalID=-1
exec sp_reset_connection
exec dbo.dnn_GetPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetSkins @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabCount @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetUserCountByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabs @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetTabs @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=NULL
exec sp_reset_connection
exec dbo.dnn_GetTabModules @TabId=56
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByTabID @TabID=56
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetModuleByDefinition @PortalId=0,@FriendlyName=N'Site Settings'
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByTabID @TabID=39
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByModuleID @ModuleID=354,@PermissionID=-1
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetModuleSettings @ModuleId=354
exec sp_reset_connection
exec dbo.dnn_GetModuleByDefinition @PortalId=0,@FriendlyName=N'Site Settings'
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByTabID @TabID=39
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByModuleID @ModuleID=354,@PermissionID=-1
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetHostSettings
exec sp_reset_connection
exec dbo.dnn_GetRolesByUser @UserID=-1,@PortalID=-1
exec sp_reset_connection
exec dbo.dnn_GetModuleByDefinition @PortalId=0,@FriendlyName=N'Site Settings'
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByTabID @TabID=39
exec sp_reset_connection
exec dbo.dnn_GetModulePermissionsByModuleID @ModuleID=354,@PermissionID=-1
exec sp_reset_connection
exec dbo.dnn_GetTabPermissionsByPortal @PortalID=0
exec sp_reset_connection
exec dbo.dnn_GetModuleSettings @ModuleId=354