zoukankan      html  css  js  c++  java
  • 关于DNN的性能增强

    关于DNN的性能增强,转自http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/486/Default.aspx
    作者:Charles Nurse (DNN核心团队成员)
    Many people have commented that the dotnetnuke.com site is a little slower with the recent upgrade to 4.3.1 (especially for Login).

    If your site has a lot of users, you are probably getting the same "poor" performance.  (Note - the problem is not confined to 4.3.1 - it will also be a problem with 3.3.1, as it is due to one of the new User features).

    However, there is a simple solution, and here it is.

    1. Log in as admin or host
    2. Go to the "User Accounts" module (on the Admin menu).
    3. Select the "User Settings" module action
    4. Click Update to save the Settings.

    Savvy users will have by now figured out the problem - The User Settings, which are implemented as Module Settings in the Database do not exist (are null).  Loading the User Settings page loads the default values and clicking "Update" persists them to the database.

    Normally, when custom Module Settings are not "set" this does not affect performance but in this case there is a very expensive query that is run when retrieving the default settings.  This query will run every time a setting is needed, because, the GetSetting uses a fallback approach:

    a) - try fetching the settings from the Cache
    b) - try fetching the settings from the Database
    c) - load the default settings (which calls the expensive query GetUserCountByPortal)
    d) - get the setting from the collection of settings

    On this site, when logging in, 3 different settings are needed, so the query is made 3 times - at a cost of about 800ms each (due to 300,000 users), hence the performance issues.

    Now that I have carried out the procedure above (1-4) on this site, the default settings have been persisted to the Database, and the caching mechanism can work -  Login is much faster.

    A fix will be added to the next version, so that default values are automaticaly saved to the database on upgrade (or first access).
  • 相关阅读:
    html5 laboratory
    Lind.DDD.LindAspects方法拦截的介绍
    MongoDB学习笔记~对集合属性的操作
    MongoDB学习笔记~数据模型属性为集合时应该为它初始化
    异步与并行~List<T>是线程安全的吗?
    基础才是重中之重~Emit动态构建方法(参数和返回值)
    XML和DTD的简单介绍和入门
    一些常用的Intent及intent-filter的信息
    最新县及县以上行政区划代码(截止2013年1月18日) 全国省市县数据库 之省市数据
    CRC32 vs Java.HashCode
  • 原文地址:https://www.cnblogs.com/meta/p/1235309.html
Copyright © 2011-2022 走看看