<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>jorkeo - hosting geek : PowerShell</title><link>http://blogs.technet.com/jorke/archive/tags/PowerShell/default.aspx</link><description>Tags: PowerShell</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>What size footprint does your worker process leave?</title><link>http://blogs.technet.com/jorke/archive/2007/11/05/what-size-footprint-does-your-worker-process-leave.aspx</link><pubDate>Mon, 05 Nov 2007 15:43:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2338327</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2338327.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2338327</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2338327</wfw:comment><description>&lt;P&gt;Well it all depends on what you are cramming into your request pipeline! With &lt;A href="http://www.iis.net/default.aspx?tabid=7&amp;amp;subtabid=71" target=_blank mce_href="http://www.iis.net/default.aspx?tabid=7&amp;amp;subtabid=71"&gt;IIS7's modular architecture&lt;/A&gt; you have the ability to load only what you need to run. What does this mean - well let's look at the footprint of a worker process that has all default modules loaded, i.e. ASP/ASP.NET/CGI/Authorization etc etc.&lt;/P&gt;
&lt;P&gt;To see the footprint in its entirety we want to dump out the applications loaded and see their usage. For this I have a handy PowerShell script I whacked together (because I love PowerShell); So browse to your website to spin up a worker process then run the following at a PowerShell prompt:&lt;/P&gt;
&lt;P&gt;gps -name w3wp | select -expand Modules | where {$_.Filename -like '*\inetsrv*} | ft&lt;/P&gt;
&lt;P&gt;which should give you something like the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_2.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=389 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb.png" width=644 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;this shows the footprint of a worker module with a default install of IIS 7.0 - you can see all the various modules loaded there for authorization, authentication, gzip etc. So how big is our worker process with no modules? Well simply rip the &amp;lt;globalmodules&amp;gt; out of the applicationhost.config file - NOT RECOMMENDED - without backup up your config first of course. Now browse to your site and you will notice nothing happens...- because you've ripped out all the modules there is nothing to process the request - thus you will get a naked worker process - lets take a look:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_4.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=134 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb_1.png" width=644 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/Whatsizefootprintdoesyourworkerprocessle_13553/image_thumb_1.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So you can see with IIS7 you can really customize what happens in your request pipeline to make huge differences to the size of your worker processes. Neat eh?&lt;/P&gt;
&lt;P&gt;Now I've also found out you can do the same as PowerShell script by simply running:&lt;/P&gt;
&lt;P&gt;tasklist /fi "imagename eq w3wp.exe" /M&lt;/P&gt;
&lt;P&gt;but where's the fun in that.. :)&lt;/P&gt;
&lt;P&gt;-jorke&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2338327" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/CGI/default.aspx">CGI</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>HTTP/1.1 200 OK</title><link>http://blogs.technet.com/jorke/archive/2007/06/28/http-1-1-200-ok.aspx</link><pubDate>Thu, 28 Jun 2007 10:41:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1382298</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/1382298.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=1382298</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=1382298</wfw:comment><description>&lt;p&gt;Hello World!&lt;/p&gt; &lt;p&gt;I think I've just found my new HTML editor of choice in &lt;a href="http://blogs.msdn.com/powershell/" target="_blank"&gt;PowerShell&lt;/a&gt; it doesn't get much easier than this:&lt;/p&gt; &lt;p&gt;PS D:\&amp;gt; ConvertTo-Html -title "HTTP/1.1 200 OK" -body "Hello World!"&lt;/p&gt; &lt;p&gt;I'm Jorke Odolphi an Infrastructure Architect Evangelist for &lt;a href="http://www.microsoft.com/australia" target="_blank"&gt;Microsoft Australia&lt;/a&gt; which is just about the coolest job title that an infrastructure guy can have :) so now I report to the famous &lt;a href="http://blogs.msdn.com/frankarr/archive/2007/06/19/more-evangelists-jorke-odolphi-joins-the-team.aspx" target="_blank"&gt;Frank Arrigo&lt;/a&gt; (&lt;a href="http://blogs.msdn.com/frankarr/archive/2007/06/25/this-person-does-not-satisfy-wikipedia-s-notability-requirements.aspx" target="_blank"&gt;though not famous enough for wikipedia&lt;/a&gt;) &lt;/p&gt; &lt;p&gt;Previously I worked as a Product Technology Specialist at &lt;a href="http://www.webcentral.com.au" target="_blank"&gt;WebCentral&lt;/a&gt; which meant just playing with the latest and coolest technologies and trying to jimmy them into a hosted environment then seeing what fell out...&lt;/p&gt; &lt;p&gt;I'll be based out of Brisbane with my mates &lt;a href="http://blogs.msdn.com/msmossyblog/" target="_blank"&gt;Barnsey&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/charles_sterling" target="_blank"&gt;Chuck&lt;/a&gt; - so if you want to talk hosting or even architecture (real or computer) just &lt;a href="http://blogs.technet.com/jorke/contact.aspx" target="_blank"&gt;drop me a line&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;-jorke&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1382298" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Frank/default.aspx">Frank</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Jorke+Odolphi/default.aspx">Jorke Odolphi</category></item></channel></rss>