Screencast HowTo: IIS7 and PHP with FastCGI
Hello Dear Reader. I have been working with IIS7 for a while and I'm convinced that it's the cat's pajamas[1]
I started playing with IIS7 and noticed that it had FastCGI support. This means I could plug in PHP or maybe Perl or even Ruby into IIS7. This would be nice because I could host my ASP.NET blog, but also drop in some of the nice open source PHP applications that are available for maybe a photo gallery or something, all hosted on the same IIS machine.
What I did was take Bill Staples blog post on FastCGI as a guideline and got IIS7, FastCGI and PHP running on my machine. I did three load tests, one with CGI, one with FastCGI and one with Kernal Output Caching (new IIS7 feature) turned on. This video shows a number of tools and how to configure IIS7 step by step.
You can watch the video/screencast on the new Hanselman Silverlight Player (thanks Tim!) or download the WMV directly. If you guys want more IIS7 videos in detail, give me feedback in the comments and I'll see what we can do about putting together a series over on http://www.iis.net.
FastCGI GoLive on IIS6
If you're running IIS5.1 or IIS6, there is a GoLive release available to put your PHP apps into production on IIS and FastCGI. If you've previously downloaded the FastCGI TP2 release, be sure to get the latest GoLive version for IIS5.1/6.
There's also an actively maintained FastCGI IIS Forum with members of the team and MVPs helping out.
FastCGI for IIS7
If you're running IIS7 on a non-SP1 Vista, you can get FastCGI as a download for x86 and x64 as well. However, if you're running Vista SP1 Beta, as I am in the video, or Windows 2008 RC0, then you've already got FastCGI. One less step, eh? Check it out in the video.
WCat (Web Capacity Analysis Tool) 6.3
In this video I use a tool call WCat that you can download in x86 and x64 flavors. It is very lightweight and can simulate thousands of concurrent users on even a laptop. I pushed my local IIS7 with caching to over 2000 requests a second. It's free, easy with a basic scripting language. It's a great way to beat on your development servers and do some powerful profiling. I loves me some free tools.
Screencast Survey
I have been thinking about doing a series of IIS7 screencasts to augment the very good articles on http://www.iis.net. If you haven't been over there, I recommend you check it out.
Anyway, if you've seen me speak on stage, you know I'm a visibility/accessibility wonk and I really like to think about how folks learn, etc. I've been working with Camtasia for a while now and doing some video editing in Sony Vegas. In the recent ALT.NET Videos I put myself in PIP (Picture in Picture) and the response (even though the video was very rough) was very positive. I think that PIP really adds a lot to a screencast, but only if combined with appropriate editing, callouts, zooming and moving/sizing of the PIP window to make sure nothing is obscured. I wonder if you agree?
I'm interested in both your thoughts and opinions on the FastCGI stuff but also on Screencasts in general:
- I'd also like to try creating screencasts that look great at 640x480 but also would be viewable on a 320x240 screen using Zoom and Pan or a Viewfinder technique. Do you have any interest in that?
- Are screencasts a big part of your learning process?
- Does Picture in Picture add value to you?
- Do you prefer a fairly casual screencast with PIP like I've done here, or a more formal greenscreen/floating head with a nice suit reading a script. This screencast was fairly "organic" on purpose because it's real. There's no fakery.
Thanks, Dear Reader.
[1] Cat's Pajamas - An adjective used by hipsters of the 1920's to describe a person who is the best at what they do. lso used to describe another person who is genial and fun to be with.
"Martin sure knows how to dance, he's the cats pajamas, man!""
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
You're speaking skills really make your webcasts much more valuable than others I have watched. Hearing the presenter say "Uhh, and ummm" too often makes you lose interest rather fast.
I personally can do without the PIP. The personal touch is nice, but I think I would rather see the full screen.
Whilst I've yet to catch the wave, I'm not a huge fan of the Facebook-style videos where folks are simply sitting at their computer...which is what prompted my earlier statement re: head shots. However, if you are an emotive presenter, head/shoulders shots may well have good value - so please do experiment with them, I'd be keen to see the results.
PIP is good where it makes sense. If the presenter is reading notes or watching the computer while manipulating the presentation, that's not so interesting. But I agree with others who ask for options. If possible, it would be good to be able to toggle it. I also like the idea of the video itself removing it when something truly full-screen starts to happen.
Seeing the person helps those of us who are not in The Inner Circle by putting a face with a name. I don't get to many conferences, so most of the luminaries are just names to me.
On your screencast questions
2. yes, screencasts are a big part of my learning process and would like to see more as it rapidly decreases my learning curve
3. PIP is great as it adds a personal touch to the video
4. Casual screencasts are nice.
Also when I am seeing you do things live and watch every step in the process, I am able to associate with likely errors that I could make. It makes more sense when I am configuring something new.
Fading it in and out would be doable. I can try that. What about moving around the screen?
How about the size? Should it change depending on what is going on at the time? I made it larger at the very end...
you have a good blog that i read for a year , but i am a php developer and would like to see more blogs and podcasts at that issue .
thanks.
On the video I noticed that when output caching was turned on, the query string was set up with qws instead of qwd. Would this mean that it would have potentially handled even more requests per second?
Chris
*** Big part of learning? No, not yet anyway. But I haven't watched many - this was good. Worth watching some more of them.
*** PIP = goodness. I didn't watch you all the time in the little PIP window, but was nice to take a peek & see what you were doing. Nice to have.
*** Casual = goodness. Seems more authentic, less scripted. More like a down & dirty, insider's late night kind of thing. The PIP helps set that mood too.
Would also love more on IIS7. Especially something non-http features - using II7 as a general purpose application server...
Just for grins, I gave it a try over the weekend. Baby steps first: hooked up my webcam, my microphone, fired up Camtasia.... and oof, it wasn't pretty. The PIP audio/video were hugely out of sync. And the webcam video itself was really poor. (The audio was in sync with the screen capture, but not with the webcam feed.)
Hey Scott, what's the secret to keeping the webcam video so sharp and in sync with audio? Beefy machine? I look as though I'm broadcasting from the space shuttle - jerky video, out of sync audio. What brand / model of webcam are you using?
Thanks!
Also, lower your res to 1024 and turn off Aero.
I dropped the res down to 1024 (already had Aero off). That helped out the PIP video / audio sync issue a bunch. Plus, the LifeCam image is nice & sharp. (I was trying an older webcam before - just no good.)
Here's what I've ended up with: 1024 monitor display (no Aero). LifeCam for good PIP video. LifeChat headset for good audio.
My LifeCam audio playback is about an octave lower than my normal voice. Very odd. Also the Cam picks up clicking sounds - I can't hear it in the room, must be electronic interference from somewhere. There's something to be said for using a beefy machine, but with this configuration I can do OK recording a VPC with PIP on my laptop.
1) The "How do I" screencasts on MSDN can be downloaded in Zune format. I like that a lot!!!
2) Yes, screencasts are a big part of my learning process. Although I use PowerPoint almost every day, I hate them in webcasts. People talk waaay too long and introduce WCF (for example) every time, even in lvl400 sessions, sort of speak.
3) It does tremendously for webcasts where there's a lot of slides. When you're doing coding, it's a lot less neccesary.
4) I like the casual screencasts. And the short ones. Go into detail immediatly and explain why you're doing stuff as you go. Don't introduce yourself or every bit of technology you're using, because the people watching those screencasts already know. When people want to know more, they go to a training.
Comments are closed.
I really like the format, raw enough to feel real, and very hands on - so you are showing a lot of the little things that are fiddly and hard to do. Very useful indeed!
Having your face displayed in the corner is a very personal thing, I liked that too. I think that it adds some credibility to video when you can actually see the person who is presenting like that.
Thanks!