SlideShare a Scribd company logo
1 of 34
josh.holmes@microsoft.com
http://www.joshholmes.com
@joshholmes
Josh Holmes
               @joshholmes
josh.holmes@microsoft.com
 http://www.joshholmes.com
   Default minimum          Authentication
    installation
                              Authorization
   New modular
    architecture              Resolve Cache
   Streamlined processing
    pipeline                 Execute Handler

   Config similar to
                              Update Cache
    .htaccess, web.config
    faster                   Send Response
   Required for many Web CMS’s
   Rules-based, text file or database
   Reg-Ex & wildcard matching
   Rewrite:
     Outbound URL’s
     Request headers and Server variables
     HTTP Response
     Inside specific html tags in response
   Import Apache mod_rewrite
   Production PHP on Windows/IIS !!!!
   Handles requests from app pool
     No more createproc() per request
   Automatic Performance tuning
     Mem, CPU, CTX
     Better density for hosted environments
   Auto recycling PHP pool when php.ini changes
     No more manual IIS restarts
   Consistent features across all versions of IIS
     Code in XP, deploy to WinSvrR2
 Boost your speed with no code
  changes
   Opcode Cache
   File Cache
   Relative File Path Cache
   Session Cache
   User Data Cache
 WinCache Statistics Script for
  performance details
 Updated code base
 Native Win32 instead of
  POSIX
 Latest compiler VC9
 Use Non-Thread-Safe
  builds for better
  performance.
   Register multiple PHP versions
    with IIS
   Easy checking of phpinfo()
   Configure PHP error reporting
   Manage all php.ini directives and
    PHP extensions within IIS
   Remote PHP administration via IIS
    Remote Administration Tool



         http://phpmanager.codeplex.com/
   PHP Driver for SQL Server 2.0
   Support for native PHP
   Support for PDO
   Support for PHP 5.3
   Source released under Apache 2.0
   Signed version includes support

   Drupal 7 will be first major PHP app with SQL Server
    support
   Consolidate MySQL or SQL Server
    Management inside IIS where you
    manage your sites
     Manage local/remote
      databases
     Create and edit tables
     Add and edit data
     Modify indexes and keys
     Create and execute queries
   Web Application Gallery
     The most popular PHP apps
     Easiest way to install
     Packages built and tested
      for Windows/IIS
     Promoting actively:
      ▪http://web.ms/wordpress
      ▪http://web.ms/drupal
      ▪http://web.ms/joomla
   Extend PHP
    Applications:
     Build reports with SQL
      Server Reporting Services
      and the SDK for PHP
     Jazz up PHP app with
      Silverlight adaptive
      streaming
     Add Bing Search to your
      site, like the WordPress
      plug-in
    http://www.interoperabilitybridges.com/php
 WinCache is on PECL
 SQL Server Driver for PHP is on codeplex
 IIS and WinCache documentation on php.net
 Participating on PHP forums
 Working with PHP Group to improve PHP and PHP
  installer
 Working with PHP application developers to
  integrate URLRewrite and WinCache
 Working with PHP application communities to
  enable easier deployment on Windows/IIS (Web
  Deploy)
PHP on Windows
   microsoft.com/web/php
excited about the cloud
   WebMatrix
     http://web.ms
   Web Platform Installer
     http://www.microsft.com/web/gallery
   How WinCache makes PHP run faster
     http://blogs.iis.net/ksingla/archive/2009/09/19/how-
      wincache-make-php-run-faster.aspx
   Using WinCache Extensions for PHP
     http://learn.iis.net/page.aspx/678/using-windows-cache-
      extension-for-php/
   PHP 5.3 Changes to Support Windows
     http://docs.php.net/manual/en/migration53.windows.php
 SQL Server PHP Blog
   http://blogs.msdn.com/sqlphp
 SQL Support for WordPress
   http://wordpress.visitmix.com/development/migr
    ating-a-wordpress-site-from-mysql-to-sql-
    serversql-azure
 Microsoft’s Wordpress Sites
   http://wordpress.visitmix.com
   http://microsoft.com/web/wordpress
 Josh Holmes’ Blog
   http://www.joshholmes.com
josh.holmes@microsoft.com
http://www.joshholmes.com
@joshholmes

More Related Content

What's hot

Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!DrupalDay
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 
Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7amit_monty
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoftnusmas
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureDevelop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureValent Mustamin
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)Assay Khan
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS ServerDinesh Vasamshetty
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
Build sites on iis
Build sites on iisBuild sites on iis
Build sites on iisPaul Davis
 
Chapter 1
Chapter 1Chapter 1
Chapter 1Uma Sam
 

What's hot (20)

Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureDevelop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
 
IIS 7.0 Architecture And Integration With Asp.Net
IIS 7.0 Architecture And Integration With Asp.NetIIS 7.0 Architecture And Integration With Asp.Net
IIS 7.0 Architecture And Integration With Asp.Net
 
IIS PPT (1)
IIS PPT (1)IIS PPT (1)
IIS PPT (1)
 
Understanding IIS
Understanding IISUnderstanding IIS
Understanding IIS
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS Server
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
IIS 7.0 +
IIS 7.0 +IIS 7.0 +
IIS 7.0 +
 
IIS 7: The Administrator’s Guide
IIS 7: The Administrator’s GuideIIS 7: The Administrator’s Guide
IIS 7: The Administrator’s Guide
 
Php on azure
Php on azurePhp on azure
Php on azure
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Build sites on iis
Build sites on iisBuild sites on iis
Build sites on iis
 
IIS
IISIIS
IIS
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
IIS-Settings
IIS-SettingsIIS-Settings
IIS-Settings
 

Similar to Josh Holmes on PHP Performance and SQL Server

PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's NewZendCon
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves DrupalAcquia
 
Automating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellAutomating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellGeoff Varosky
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More CloudyMaarten Balliauw
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And PhpPierre Joye
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebservertarensi
 
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...SPTechCon
 
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney BuikeMake Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney BuikeMake Web Not War
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Alan Lok
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Alan Lok
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)Katrien De Graeve
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxvoot1
 
Php apache vs iis By Hafedh Yahmadi
Php apache vs iis  By Hafedh YahmadiPhp apache vs iis  By Hafedh Yahmadi
Php apache vs iis By Hafedh YahmadiTechdaysTunisia
 

Similar to Josh Holmes on PHP Performance and SQL Server (20)

Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's New
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
 
Windows Loves drupal
Windows Loves drupalWindows Loves drupal
Windows Loves drupal
 
Automating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellAutomating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShell
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And Php
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebserver
 
WebMatrix2
WebMatrix2WebMatrix2
WebMatrix2
 
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
 
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney BuikeMake Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptx
 
Php apache vs iis By Hafedh Yahmadi
Php apache vs iis  By Hafedh YahmadiPhp apache vs iis  By Hafedh Yahmadi
Php apache vs iis By Hafedh Yahmadi
 

More from Josh Holmes

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkJosh Holmes
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speakerJosh Holmes
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkJosh Holmes
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...Josh Holmes
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingrealityJosh Holmes
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshareJosh Holmes
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Josh Holmes
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by NumbersJosh Holmes
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architectJosh Holmes
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on AzureJosh Holmes
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Josh Holmes
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping WellJosh Holmes
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudJosh Holmes
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of SimplicityJosh Holmes
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOOJosh Holmes
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with SilverlightJosh Holmes
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst RiaJosh Holmes
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From SuckingJosh Holmes
 

More from Josh Holmes (20)

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talk
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speaker
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor Talk
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingreality
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshare
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by Numbers
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architect
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on Azure
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010
 
MODx on Windows
MODx on WindowsMODx on Windows
MODx on Windows
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping Well
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The Cloud
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of Simplicity
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with Silverlight
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst Ria
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Josh Holmes on PHP Performance and SQL Server

  • 2. Josh Holmes @joshholmes josh.holmes@microsoft.com http://www.joshholmes.com
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Default minimum Authentication installation Authorization  New modular architecture Resolve Cache  Streamlined processing pipeline Execute Handler  Config similar to Update Cache .htaccess, web.config faster Send Response
  • 18. Required for many Web CMS’s  Rules-based, text file or database  Reg-Ex & wildcard matching  Rewrite:  Outbound URL’s  Request headers and Server variables  HTTP Response  Inside specific html tags in response  Import Apache mod_rewrite
  • 19. Production PHP on Windows/IIS !!!!  Handles requests from app pool  No more createproc() per request  Automatic Performance tuning  Mem, CPU, CTX  Better density for hosted environments  Auto recycling PHP pool when php.ini changes  No more manual IIS restarts  Consistent features across all versions of IIS  Code in XP, deploy to WinSvrR2
  • 20.  Boost your speed with no code changes  Opcode Cache  File Cache  Relative File Path Cache  Session Cache  User Data Cache  WinCache Statistics Script for performance details
  • 21.  Updated code base  Native Win32 instead of POSIX  Latest compiler VC9  Use Non-Thread-Safe builds for better performance.
  • 22. Register multiple PHP versions with IIS  Easy checking of phpinfo()  Configure PHP error reporting  Manage all php.ini directives and PHP extensions within IIS  Remote PHP administration via IIS Remote Administration Tool http://phpmanager.codeplex.com/
  • 23. PHP Driver for SQL Server 2.0  Support for native PHP  Support for PDO  Support for PHP 5.3  Source released under Apache 2.0  Signed version includes support  Drupal 7 will be first major PHP app with SQL Server support
  • 24. Consolidate MySQL or SQL Server Management inside IIS where you manage your sites  Manage local/remote databases  Create and edit tables  Add and edit data  Modify indexes and keys  Create and execute queries
  • 25. Web Application Gallery  The most popular PHP apps  Easiest way to install  Packages built and tested for Windows/IIS  Promoting actively: ▪http://web.ms/wordpress ▪http://web.ms/drupal ▪http://web.ms/joomla
  • 26. Extend PHP Applications:  Build reports with SQL Server Reporting Services and the SDK for PHP  Jazz up PHP app with Silverlight adaptive streaming  Add Bing Search to your site, like the WordPress plug-in http://www.interoperabilitybridges.com/php
  • 27.  WinCache is on PECL  SQL Server Driver for PHP is on codeplex  IIS and WinCache documentation on php.net  Participating on PHP forums  Working with PHP Group to improve PHP and PHP installer  Working with PHP application developers to integrate URLRewrite and WinCache  Working with PHP application communities to enable easier deployment on Windows/IIS (Web Deploy)
  • 28. PHP on Windows microsoft.com/web/php
  • 30.
  • 31.
  • 32. WebMatrix  http://web.ms  Web Platform Installer  http://www.microsft.com/web/gallery  How WinCache makes PHP run faster  http://blogs.iis.net/ksingla/archive/2009/09/19/how- wincache-make-php-run-faster.aspx  Using WinCache Extensions for PHP  http://learn.iis.net/page.aspx/678/using-windows-cache- extension-for-php/  PHP 5.3 Changes to Support Windows  http://docs.php.net/manual/en/migration53.windows.php
  • 33.  SQL Server PHP Blog  http://blogs.msdn.com/sqlphp  SQL Support for WordPress  http://wordpress.visitmix.com/development/migr ating-a-wordpress-site-from-mysql-to-sql- serversql-azure  Microsoft’s Wordpress Sites  http://wordpress.visitmix.com  http://microsoft.com/web/wordpress  Josh Holmes’ Blog  http://www.joshholmes.com

Editor's Notes

  1. http://www.flickr.com/photos/joshholmes/4420045760/sizes/l/in/set-72157623387691473/I am Josh Holmes! 
  2. http://www.flickr.com/photos/baggis/3437478294/Microsoft is a software company that builds a lot of great platforms and applications. We have a large number of finished applications such as Microsoft Word and so on that a ton of people use out of the box every day to accomplish their job. But one of the exciting parts about Microsoft is that almost everything starting with Windows, SQL Server and so on all the way up to Microsoft Office is also a platform that other people (read you in the audience) can write applications on top of in addition to just using out of the box. The conglomeration of platforms from Microsoft that I’m talking about today is Windows, IIS, SQL Server and Azure and running PHP/WordPress on top of those platforms.
  3. http://www.flickr.com/photos/kr_alliance/4545102960/sizes/l/Before we get to that, however, we need to take a quick peek back in history. Many of you probably tried PHP on Windows at some point in the history so you’re thinking that I’m crazy to attempt PHP on Windows.
  4. http://www.flickr.com/photos/fatboyke/2668411239/ 5 years ago, PHP did not run on Windows all that well. It was slow. PHP wasn’t optimized for Windows/IIS and Windows/IIS wasn’t optimized for PHP. Painfully slow at points.
  5. http://www.flickr.com/photos/kaptainkobold/3203311346/It wasn’t compatible with the over versions of PHP. If you were on Windows vs. Linux, you had to take that into account when you were writing your applications and there were standard switch blocks that you’d have to code in order to accommodate the different platforms. Most people didn’t bother doing that so there was platform lock in which defeats much of the purpose of running PHP.
  6. http://www.flickr.com/photos/alf_bilder/4501404108/There wasn’t a good implementation of mod_rewrite or a good alternative. This cause all kinds of problems with SEO optimization and much more.
  7. http://www.flickr.com/photos/sam_scholefield/49378638/There were many other problems and it just made the PHP developers (understandably) mad at Windows and Microsoft.
  8. http://www.flickr.com/photos/atelier_tee/2478897483/sizes/l/So where are we now?
  9. http://www.flickr.com/photos/aturkus/193533029/sizes/l/Microsoft has invested a tremendous amount of time and resources into making sure that we fix all of those issues.
  10. http://www.flickr.com/photos/spoungeworthy/423796116/sizes/o/PHP on Windows is fast. FastCGI support for IIS 7.0, 6.0, 5.11 rocks and is fast. It’s the default on IIS7 and it’s a fast and reliable way to run PHP on Windows. There are all kinds of benchmarks out there but I’d like for you to test it yourself. There are many areas where PHP on Windows/IIS is just as fast or faster than PHP on Linux/Apache. There are other areas where performance suffers some. You should test your application on both platforms and compare performance. For some applications you’ll be pleased, for others you won’t be. Either way you’ll learn something about your application.
  11. http://www.flickr.com/photos/joshholmes/4420154653/sizes/l/in/set-72157623387691473/PHP on Windows/IIS is compatible because it’s the same PHP. This means that most of the applications should just run on IIS. Where there are incompatibilities, it’s because there are some extensions and such to PHP that don’t run on IIS because they are deeply embedded in the Apache piping system or they leverage something in Linux and so on. In some cases there are compatible alternatives. In other cases, we’ll have to work around those. If you run into one of these cases – PLEASE reach out to me and let me know what you’re trying to accomplish. I can tell you that there’s not a one for one equivalent to everything in the world on Linux
  12. A great example of where we don’t have the exact same thing but a great alternative is mod_rewrite on Linux and URL Rewrite on IIS. I’ll walk through a demo of this in just a little bit but in short, URL Rewrite is a fantastic and powerful engine that allows you to do some outstanding things.
  13. http://www.flickr.com/photos/neufneufneuf/4583449949/More pigs fly – we didn’t stop there. In June 2009, we contributed 20k lines of source code to the Linux kernel to do much better virtualization support for things such as Suspend, Hibernate and Resume. Obviously our motivation was to get it to work better with Hyper-V but that code also helps with VMWare, Parallels and more.
  14. http://www.flickr.com/photos/hendricksphotos/3240667660/sizes/o/Now, all of that is fantastic but let’s get to some demos. Demos are the meat of this talk.
  15. http://www.flickr.com/photos/hendricksphotos/3240667626/‘Cause I think that you want to see what’s in my smokin toolbox here and seeing is believing. Web Platform InstallerThe first thing I need to do is get WordPress up and running on my Windows installation. The easiest way to do that is with the Web Platform Installer. This is a free tool that Microsoft has put out there to make your life easier on IIS. You can, under the Web Platform Tab, configure your server to install modules such as URL Rewrite, Advanced Logging features, ODBC or any number of things that are optional on IIS but you might need to leverage. But the tab that we’re most interested in is the Web Application tab where you can find WordPress. Under this tab you’ll find a bunch of different applications ranging from Aquia Drupal to DotNetNuke to Moodle to ScrewTurn Wiki to WordPress. All of these applications and all of this data actually comes from the Web Application Gallery. If you select WordPress and click Install, you’ll get the installation wizard which will analyze the requirements for the applications and make sure that you have everything and download it if you don’t. An important thing to notice here is that the WordPress install is actually coming from http://wordpress.org/wordpress-2.9.2-IIS.zip. If you’ll notice, that’s actually coming from the WordPress foundation rather than from Microsoft. We’re not distributing Wordpress or any of these projects. Instead, we are providing a channel and portal for those applications with a lot of support to make sure things are tested and ready to go. The next couple of screens that we see are configuring your specific installation. The first screen is a common screen that all of the projects get that has to do with were you’re going to put the physical files and the virtual directories stuff that IIS cares about. If you are running multiple web sites off of one machine, here’s where you make that assignment. For example, I’m running http://www.joshholmes.com and http://www.wonderpuzzle.com off of the same server The second page is actually configured by the project itself and has to do with the project’s configuration files directly. WordPress, for example, needs to know the MySQL Administrator’s password so that it can log into MySQL and create the database. It also needs to create a user for that database it set it’s password and the like. This is all part of the package that was downloaded from Wordpress.org. Investigating the WebPI PackageThat package is just a ZIP file with the PHP files, SQL Scripts and a couple of XML files in it. If you open the ZIP file and look at the parameters.xml file, you’ll see how this is all built up. For example, there’s a custom parameter called DbName with a default value of "wordpress" that’s got a regular expression validation of "^\\w{1,16}$" or in English, 1 to 16 characters in length with no whitespace or punctuation. This parameter file is inserted into the install.sql file wherever the Web Platform Installer finds the word "PlaceholderForDbName" and in the wp-config.php file where if finds "putyourdbnamehere". This makes it easy to set up any parameters that you want and insert them into any file that you want. And if you want, you can create your own projects and custom feeds for the Web Platform Installer to leverage. I’ll have to write an article about doing that in the near future. The next thing that happens is that the install is done and you’re ready to start setting up your WordPress install. You should be, if you’ve ever set up WordPress on any platform, be familiar. You have to make sure that you copy that fantastic auto-generated password, log in and immediately change your password so that you don’t forget it. An important thing to point out here is that even though it’s an older version of WordPress that’s installed, it’s still WordPress and WordPress can update itself and you should do that if you are going to run this for more than a quick demo. Pretty URLS and URL RedirectThe next thing that I want to do is set up my navigation and URL redirection. Just like any other WordPress install, you can do that under Settings | Permalinks. Select your favorite configuration and once you save your updates, there’s a prompt that tells you "You should update your web.config now". If you’ve done this on Linux, you’ll get a prompt that says "You should update your ht.access now". This is because URL Rewrite leverages the web.config. You can actually, if you’ve got an ht.access file that you use all the time, import that directly through the Internet Information Services Manager. The web.config is an XML file that has a tremendous amount of power. In this file you’re able to create file handler mappings, security settings on a per directory level, FastCGI settings, default documents for the application, IIS modules and a ton more. The web.config that WordPress requires at a minimum for pretty URLs is as follows:<rule name="wordpress" patternSyntax="Wildcard">   <match url="*" />     <conditions>       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />     </conditions>   <action type="Rewrite" url="index.php" /> </rule> Save this as a file called web.config in the root directory of your web application and you’re good to go with pretty URLs. Quick Peek At WinCacheThe next thing that I want to look at is WinCache. WinCache is a library written by Microsoft and distributed through the Pear Foundation. It’s a op code caching and object caching library that is on by default in the PHP install from the Web Platform Installer. To demo this I turned off WinCache in the php.ini file and used a little client app called WyCats that spins up 25 threads and starts hammering the server. It measures the number of requests, responses, errors and the like. Then I turn WinCache back on and restart WyCats. Immediately there’s a 3-4x improvement in performance. We could go a lot deeper with WinCache but that’s a topic for a different blog post. Windows Azure Data StorageThis helps you scale vertically on a single box but to get true scale, we’re going to need to start leveraging horizontal scaling. One of the easy things to do is leverage a WordPress Plugin called XXXXXXXXXXXX which will offload the use generated media such as pictures, media files and anything else heavy to the Azure Data Storage which can be put out on the new Azure Content Delivery Network. That’s got a global footprint and helps you put your content near to your reader.More WordPress Plugins that RockThere are a lot of other WordPress plugins that leverage various parts of the Microsoft ecosystem including the Bing 404 plugin, the Bing Maps plugin, the Silverlight Streaming Media plugin and more. I’m pretty excited about all of these plugins. The Bing 404 plugin handles broken links and will do a Bing search of your site suggesting possible updated links. This one was written by Cal Evans of Blue Parabola. There are actually three different Bing Maps plugins. The Silverlight Bing Maps plugin is awesome, even if all of the comments are written in French. It helps you drop a Bing Map anywhere on your site with the use of shortcodes. The Silverlight Streaming Media leverages the Smooth Streaming support in IIS to intelligently stream the media at the appropriate fidelity for your consumer based on their bandwidth,  machine specs and the like. All of these plugins are obviously released under GPL since they are hosted on the Wordpress.org site and easily found through the add new plugin search. Windows Live WriterOne of the things that I didn’t plan on hitting on but decided to after I saw that there was a fair number of bloggers in the room that weren’t as technical is Windows Live Writer. It’s a free tool that allows you to do your blogging and posts in a desktop application so you can do it offline and have all of the richness of a desktop application. It’s got preview states where it will actually show your blog post as you’re writing it as it will look on the page complete with margins, your CSS and the whole nine yards. There are hundreds of fantastic plugins to do everything from inserting maps to formatting HTML code to managing flickr images. It’s the tool that I use to do all of my blogging. This post, as an example, I wrote in three different airports, on two different planes and I’m in my hotel room at the moment finishing it up. Between WordPress, Windows Live Writer and Jing, I’m a happy blogger.
  16. IISIIS 7.0 is a from the ground up rewrite over the previous versions and with a new architecture. Default Min Install:The new IIS 7.0 architecture and default minimum install enables a significant reduction in attack surface making it far more secure.Modular Architecture: Previous versions of IIS were difficult to customize or streamline for high performance applications.This new modular architecture makes it far easier to create modules and handlers at any point in the processing pipeline.You also don’t have to write these modules in C++ anymore either. You can create them in managed code far faster and with excellent performance.Streamlined Processing Pipeline: The modular architecture allows for a streamlined processing pipeline. Load only what modules you need for much better performance.Web Config: The new configuration system in IIS 7.0 loads configuration files—similar to .htaccess files in Apache—and manages them in a cache after first read. All subsequent requests use the cached configuration and the new configuration cache consumes significantly less memory than the equivalent in Apache. IIS 7.0 also includes caching support for all types of dynamic content.
  17. Fast CGIWith the release of FastCGI first time you could actually consider hosting php on win/iis, production quality, no more crashes.Previously you had two options to host PHP, CGI or PHP ISAPI.CGI was stable but very slow because you had to spin up a new process for each new PHP request.ISAPI was faster but since many popular extensions for PHP were not thread safe this caused major issues with stability.FastCGI handles PHP requests out of an app pool rather than spinning up a new one each time.FastCGI provides optimal PHP performance without having to manually tune:Fast CGI provides Automatic performance tuning.Determines: CPU usage, memory consumption, context switches. Based upon that information it changes the number of PHP processes to optimize your application automatically. (SetsDynamic Max Instances)Very important if you are a hoster managing many customers since it allows for a higher density of PHP applications on Windows than you could get before or a customer with an app that has large changes in requests over time.Automatic recycling of PHP processes in IIS when php.ini changes. No longer need to restart IIS.Version 1.5 now has a consistent set of features across all versions of IIS. This is important as a significant number of PHP developers still use XP. This will allow them to develop and deploy seamlessly to Windows Server. Version 1.5 of Fast-CGI is included in Windows Server 2008 R2 (IIS 7.5), an update is available for IIS 7 along with a back-port for those using XP.Another useful feature I wanted to point out here as well is you can provide to your customers developing or running PHP on Windows/IIS is the Advanced Logging module in IIS which you can use to consolidate event reporting for PHP itself as well as from IIS. This will help your customers consolidate application performance reporting, good for tracking failed requests or other issues in your php application. No need to have separate error log files for webserver and php.
  18. Compile and file operations on Windows are slower than on linux. Many more security checks, etc.Many PHP developers on Linux use other caching mechanisms such as memcache or APC.There are no good open source solutions for caching on Windows WinCache is our solution to help provide even more performance for PHP on Windows.Opcode cache – this is a cache of the compiled PHP file. WinCache let PHP core compile the PHP file to generate opcodes first time it is executed. Then caches these opcodes in memory and is shared with other PHP processesIncreasing performance, especially on subsequent access to the executable code. Can expect a 100%-200% increase in performance.File cache – File IO operations on Windows are much more expensive than on Linux. For files on UNC’s or NFS in hosting environments scenarios it is even worse. File Cache stores the contents of opened files in shared memory. This increases performance 80-90% over accessing the files each time from a shared location.Resolve File Path cache – On first access a PHP application will work to determine the absolute path to a file to then open itThis feature is used to store the absolute path from relative file paths used in PHP applications.Again, anything to reduce usage of the file systems calls produces performance gains.Session Cache:The session cache will take and store session data in shared memory cache instead of file system for added performance benefits.Currently this feature cannot be used in a webfarm where there is no session affinity.User Data Cache API’s: Provides caching functions(API’s) with the Can be used by PHP applications for storing variables and objects in shared memory using WinCache instead of PHPs cache.You can cache database data, php data, classes, etc. Overall just closing the feature gap to APC, etc. trying to have a complete solution.WinCache Statistics Script – This thing is very cool and you should check it out. Great for helping you benchmark and fine tune your PHP applications on Windows. Is installed with the WinCache for PHP.PS: this file is protected by default with HTTP basic authentication so if you do provide this for your customers. Just an FYI.
  19. So prior to PHP 5.3 the PHP engine itself wasn’t mature on Windows, causing compatibility and performance problems.Implemented with APR (Apache portable runtime) instead of directly on Win32 created subpar performanceAlso many Windows-specific PHP bugs hadn’t been fixedThere were as I mentioned earlier issues with hosting on IIS itself with the slow CGI or unstable ISAPI handler. Using FastCGI provided the fix for that part.The next piece was…PHP 5.3Has an updated code baseMuch of PHP for Windows completely rewritten to use native Win32 instead of through the POSIX layerAlso compiled using our latest compiler VC9 versus VC 6 which was 10 years oldUse the NTS version. No thread safety checks since PHP runs Single threaded on IIS in FastCGI.Reason for NTS is that many of the most popular community extensions themselves are NTS themselves, making NTS the default on Windows is the safest route for stability.Btw, Anybody know who this guy Rasmus guy is?PS: The Web App Gallery is still using 5.2.x (app requirement) but we are getting close to having multiple versions of PHP available for
  20. PHP Manager for IIS 7 is a open source extension for IIS Management Console, that greatly simplifies the tasks of setting up, configuring and managing one or more PHP versions on IIS server. Use it to register PHP with IIS, run multiple PHP versions, get the information about PHP runtime settings, add and modify php.ini directives and enable or disable PHP extensions.Features:Simple registration of many PHP versions with IISAn easy way of checking if PHP works correctly by geting the output of phpinfo() functionConfiguring the PHP error reproting settings for production or development environmentManaging all php.ini directives and PHP extensions from within IIS managerRemote PHP administration via IIS Remote Administration ToolWorks well with PHP installed via Web Platform Installer or PHP Windows Installerhttp://phpmanager.codeplex.com/releases/view/53121
  21. Don’t know if you know this but OddlySpecific.com, which is running in Azure itself and leveraging the SQL Server support and the Azure Data Storage options with SQL Server. We’re working making that more broadly available so that sometime soon you could run in Azure as well. The awesome part about that is that it will allow you to scale up very quickly to meet market demands without having to think about infrastructure.
  22. http://www.flickr.com/photos/taylar/3664112113/sizes/l/Questions?