free geoip CS Tidbits #23: Tweak Your Mirrored Content Job - protected virtual void jaysonBlog
in

jaysonKnight.com

Welcome to my corner of the internet

protected virtual void jaysonBlog

A conduit to the voices in my head

CS Tidbits #23: Tweak Your Mirrored Content Job

Today's tidbit is another easy one to implement that would otherwise go unnoticed unless you were experiencing the same issues that some of the CS MVPs were having on our dedicated box.  Short version: If you have more than a trivial number of feeds defined for a mirrored content section (in my case, I have over 50), the RollerBlogUpdater job can bog down your system when it kicks off, i.e. peg the processor at 100% and bump memory up a couple dozen megs when it runs.  Does this happen in all instances?  I don't have any hard data to back that up, but the 2 cases I've seen where more than 20 feeds were defined it was indeed occurring. 

Long version: Easy explanation...latency.  Well, latency combined with the fact that the job which fetches mirrored content executes on the main thread of CS, which means it blocks execution until the job completes.  If you have 50 feeds to pull, and latency averages 1 second, that's 50 seconds for the job to run with the caveat of blocking execution for anything else running on the main thread as well as pegging the processor the entire time.  On a dedicated box this might not matter, but in a shared hosting scenario this could lead to overall degradation of the machine depending on A) how many sites the box is hosting and B) how many of those are CS sites with a non-trivial amount of mirrored content feeds.  It is worth mentioning that the memory is reclaimed fairly quickly whenever garbage collection kicks in, and of course the processor settles down once the job completes, but the fix is trivial: put the RollerBlogUpdater job on its own thread by editing your CommunityServer.config, adding the singleThread = "false" attribute to that job node:

<job singleThread = "false" name = "RollerBlogsUpdater" type = "CommunityServer.RollerBlogs.Components.RollerBlogUpdater, CommunityServer.RollerBlogs" enabled = "true" enableShutDown = "false" />

Now when that job kicks off, it'll spawn on it's own thread (thus not blocking main execution) and processor utilization will be normal while the job runs.

Share this post: Submit CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to Technorati | Submit CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to del.icio.us | Submit CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to digg.com | Submit CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to reddit.com | Submit CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to DotNetKicks | Add CS+Tidbits+%2323%3a+Tweak+Your+Mirrored+Content+Job to Live Bookmarks
Only published comments... Oct 16 2006, 01:31 AM by Jayson Knight
Filed under:

Comments

 

Community Server Daily News said:

news of the day a grab bag for what's happening in Community Server Please God, nooooo! Geoff Appleby

October 16, 2006 2:20 PM
 

J-O Eriksson said:

Let's say you get even more mirror feeds. Have you tried running the RolleBlogUpdater on a completely different machine with the help of the Jobs Service, or would it need some context which is looses then?

October 18, 2006 1:25 AM
 

Community Server Bits said:

Jayson Knight with a CS Tidbit on improving server performance by putting the RollerBlogUpdater job on

March 12, 2007 6:41 AM

Leave a Comment

(required)  
(optional)
(required)  
Add

About Jayson Knight

Jayson Knight was clueless to the computer programming world until he took a C++ class in college. The rest is proverbial history. He has been building applications targeting the .Net framework for 7 years, focusing mainly on internet technologies and database driven web application development.

Most recently he left the world of Corporate IT to finish up his degree in Chemistry, with an eye on Medical School and an Anesthesiology residency program. Read this post for more information.

He is also a Community Server MVP: Community Server is the software that runs this site, plus many others on the web. For more information, check out http://csmvps.com.

When he finds time to pry himself away from his computer and university studies, he can be found on the mountain bike trails when it's warm, and on the ski slopes when it's cold.

Copyright © :: JaysonKnight.com
External Content © :: Respective Authors

Terms of Service/Privacy Policy