One of my clients got this problem. His DB went from the 80 Mb to 1 Gb in just one week. After deep research i found table SearchItemWordPosition contains 33 millions records and takes a lot of space in the DB. On deeper search i found it contains a lot of duplicates and this problem is very common in the DNN Community. So first of all i have made a script to remove duplicates:
This blog is about life of true developer. Projects, coding, testing, ideas, interesting customers from around the world - all these events make life of developer interesting and active. In this blog i will try to describe my experience. Hope it helps someone :)
Thursday, 20 December 2012
Tuesday, 22 May 2012
ClientDependencyLoader takes 100% of CPU
One of my clients had serious problem with DotNetNuke 6.1.4 Pro. His site had small number of visitors at start, but after some advertisement, number of visitors jumped to the 30,000 uniq visitors per day. Site was under the good dedicated server (2*Xeon and 16 Gb RAM), so client did not expect any problems with performance. But one day CPU has taken 100%. Site was very hard to open. It was real problem. We had to make deep digging with JetBrain tools and at the end of end we found problem. 90% of each thread calls ClientDependencyLoader from the ClientDependency.Core! It was a source of problem. To turn it off we had to change the web.config:
<
compilation
debug
=
"false"
strict
=
"false"
>
to this one:
<
compilation
debug
=
"true"
strict
=
"false"
>
I know, this is not good trick, but at least CPU back to the normal 25-35%.
Thursday, 26 April 2012
To find pages with installed module you can run this SQL code (just replace HTML with Friendly Name of required module):
Friday, 20 April 2012
Monday, 16 April 2012
DotNetNuke Tokens
List of tokens:
[Portal:Currency] Currency String
[Portal:Description] Portal Description
[Portal:Email] Portal Admin Email
[Portal:FooterText] Portal Copyright Text
[Portal:HomeDirectory] Portal (relative) Path of Home Directory
[Portal:LogoFile] Portal Path to Logo file
[Portal:PortalName] Portal Name
[Portal:PortalAlias] Portal URL
[Portal:TimeZoneOffset] Difference in minutes between Portal default time and UTC
[User:DisplayName] User’s Display Name
[User:Email] User’s Email Address
[User:FirstName] User’s First Name
[User:FullName] [deprecated]
[User:LastName] User’s Last Name
[User:Username] User’s Login User Name
[Membership:Approved] Is User Approved?
[Membership:CreatedDate] User Signup Date
[Membership:IsOnline] Is User Currently Online?
[Profile:<Property>] Use any default or custom Property defined for user profiles as listed in Profile Property Definition section of Manage User Accounts. Please use non-localized Property titles only.
[Tab:Description] Page Description Text for Search Engine
[Tab:EndDate] Page Display Until Date
[Tab:FullUrl] Page Full URL
[Tab:IconFile] Page Relative Path to Icon file
[Tab:KeyWords] Page Keywords for Search Engine
[Tab:PageHeadText] Page Header Text
[Tab:StartDate] Page Display from Date
[Tab:TabName] Page Name
[Tab:TabPath] Page Relative Path
[Tab:Title] Page Title (Window Title)
[Tab:URL] Page URL
[Module:Description] Module Definition Description
[Module:EndDate] Module Display Until Date
[Module:Footer] Module Footer Text
[Module:FriendlyName] Module Definition Name
[Module:Header] Module Header Text
[Module:HelpUrl] Module Help URL
[Module:IconFile] Module Path to Icon File
[Module:ModuleTitle] Module Title
[Module:PaneName] Module Name of Pane where UDT resides
[Module:StartDate] Module Display from Date
[DateTime:Now] Current Date and Time
[Ticks:Now] CPU Tick Count for Current Second
[Ticks:Today] CPU Tick Count since Midnight
[Ticks:TicksPerDay] CPU Ticks per Day (for calculations)
[Portal:Currency] Currency String
[Portal:Description] Portal Description
[Portal:Email] Portal Admin Email
[Portal:FooterText] Portal Copyright Text
[Portal:HomeDirectory] Portal (relative) Path of Home Directory
[Portal:LogoFile] Portal Path to Logo file
[Portal:PortalName] Portal Name
[Portal:PortalAlias] Portal URL
[Portal:TimeZoneOffset] Difference in minutes between Portal default time and UTC
[User:DisplayName] User’s Display Name
[User:Email] User’s Email Address
[User:FirstName] User’s First Name
[User:FullName] [deprecated]
[User:LastName] User’s Last Name
[User:Username] User’s Login User Name
[Membership:Approved] Is User Approved?
[Membership:CreatedDate] User Signup Date
[Membership:IsOnline] Is User Currently Online?
[Profile:<Property>] Use any default or custom Property defined for user profiles as listed in Profile Property Definition section of Manage User Accounts. Please use non-localized Property titles only.
[Tab:Description] Page Description Text for Search Engine
[Tab:EndDate] Page Display Until Date
[Tab:FullUrl] Page Full URL
[Tab:IconFile] Page Relative Path to Icon file
[Tab:KeyWords] Page Keywords for Search Engine
[Tab:PageHeadText] Page Header Text
[Tab:StartDate] Page Display from Date
[Tab:TabName] Page Name
[Tab:TabPath] Page Relative Path
[Tab:Title] Page Title (Window Title)
[Tab:URL] Page URL
[Module:Description] Module Definition Description
[Module:EndDate] Module Display Until Date
[Module:Footer] Module Footer Text
[Module:FriendlyName] Module Definition Name
[Module:Header] Module Header Text
[Module:HelpUrl] Module Help URL
[Module:IconFile] Module Path to Icon File
[Module:ModuleTitle] Module Title
[Module:PaneName] Module Name of Pane where UDT resides
[Module:StartDate] Module Display from Date
[DateTime:Now] Current Date and Time
[Ticks:Now] CPU Tick Count for Current Second
[Ticks:Today] CPU Tick Count since Midnight
[Ticks:TicksPerDay] CPU Ticks per Day (for calculations)
Friday, 13 April 2012
Backup MSSQL Database To External Path
It is very popular question from my clients. They have web access only to MS SQL database, but have to backup it to the external path. Ok, it can be done easy:
- At the external server/computer make a folder, for example "C:\External_Backup".
- Then go to the properties of this folder, tab "Sharing". Make public share with name "External_Backup" and add permissions for "Everyone" and "ANONYMOUS LOGON". Do not worry - its for few mins only, then we disable it.
- Temporary disable Firewall.
- Try to connect to this share from the Explore in this way "\\your_ip\External_Backup". You can see files and peform any actions in this folder.
- In the web client of MSSQL database run query like this: BACKUP DATABASE your_db_name TO DISK = '\\your_ip\External_Backup\your_db_name.bak';
- Enable Firewall and remove share from the public access.
Subscribe to:
Posts (Atom)