SlideShare a Scribd company logo
1 of 34
Download to read offline
When Efficiency Matters
                                         Drupal at Scale

Scott Mattoon
Sun Microsystems, Inc.
http://blogs.sun.com/downstream
http://twitter.com/smattoon

                                                                   1
   DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Agenda




                                                                  2
  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
NetBeans for Drupal




DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
NetBeans for Drupal

      PHP Plugin http://wiki.netbeans.org/PHP
 

          Run and Debug project action – break points, watches
     


          Run single file, Debug single file, Run in command line
     


          Wizard for creating new php and phtml files
     


          Editing - Syntactic and Semantic coloring
     


          Code Completion
     


          File system code completion for include/require
     


          Bracket Matching
     


          Automatic Insertions (brackets, braces, parens, quotes)
     


          Code Navigation - Go to Declaration/Type, Hyperlinking
     


          Refactoring - Instant Rename
     




     Drupal Module and Theme Wizard http://is.gd/lgnB
 

          generates required files
     


          provides template code
     




 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
VirtualBox for Drupal




DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Top 10 Reasons for Running Virtual Box

10 - You want to impress your friends.
9 - Your wife has told you one more computer in the house
and she's gone.
8 - Windows 3.1 is your favorite operating system.
7 - You want to make sure you have deleted all traces of
what you have done.
6 - You want to give root to your baby sister.
5 - You want to try writing a kernel module while drunk.
4 - You want to install that cracked version of Photo Shop.
3 - You've always wondered what deleting /bin would do.
2 - You really REALLY want to click on that email attachment.
1 - You like running that older version of Internet Explorer.

 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
OpenSolaris for Drupal




                                                                9
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
WebStack
OpenSolaris AMP +++
Django            1.0.2                                           python-genshi         0.5.1
SUNWmozldap                                 6.0.4                 python-paste          1.7.1
SUNWxalanc                                  1.10.0                python-paste-deploy   1.3.2
SUNWxercesc                                 2.8.0                 python-simplejson     1.9.2
drupal                                      6.3                   python-simpletal      4.1
drupal-demo                                 6.3                   python-turbocheetah   1.0
nginx                                       0.6.35                python-turbojson      1.1.4
phpmyadmin                                  2.11.7                python-turbokid       1.0.4
python-cheetah                              2.0.1                 varnish               2.0.2
python-configobj                            4.5.3                 webstack-dev-tools    0.1
  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Solaris – Linux Performance




 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Solaris – Linux Performance
THROUGHPUT
Lightweight & Complex Workloads




  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Solaris – Linux Performance
THROUGHPUT zoom in
Complex Workloads




 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
The S in SAMP stands for Solaris
Solaris Zones
     Free, lightweight and easy virtualization
 ★

     Allocate a “system” to each app instance or to each developer
 ★

     Resources are controlled in one of three ways
 ★
                 • Capped Resources: Upper limit on consumption
                 • Guaranteed Resources: Guarantee of a minimum available
                 • Dedicated Resources: Resources are set aside for

     share filesystems and network across zones
 ★

                 OR
     dedicate filesystems and network to individual zones
 ★



                                                                            14
 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Need Efficiency & Control?
Hypothetical Constraints & Objectives

 Constraints:
      one server available
 


      need to host four environments:
 


             (2) Developers
       


             (1) Test environment
       


             (1) Production environment
       


 Objectives:
      maximize sharing, minimize redundancy
 


      guarantee max. resources for production
 


      maximize efficiency & consistency btw. envs.
 

                                                                     15
     DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Solaris Zones for Efficiency & Control
                                                                            ...
globalzone                           zoneA                         zoneB          qazone    prodzone

                                                                   Apache          Apache
                                        Apache


                                                                    PHP             PHP
                                          PHP




                                               dbzone1                                       Apache


                                                                                              PHP




                                                     MySQL                                    MySQL




   DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Solaris Zones for Efficiency & Control
                                                                            ...
globalzone                            zoneA                         zoneB         qazone      prodzone
/usr/                                 -ro                      -ro                         /usr’
       ./apache                      -ro
       ./mysql                       -ro
       ./php                         -rw
/data/drupal-6.10                    -rw                       -ro                -ro      /data/drupal-5.10
       ./misc                                                 -ro                 -ro
       ./modules                                              -ro                 -ro
       ./scripts                                               -ro                -ro
       ./sites                                                 -rw                -ro
       ./themes                                               -ro                 -ro
       ./files                                                -ro                 -rw

    DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Find Hampster Wheels with DTrace
DTrace provider for PHP

“DTrace is one of those tools that makes you
wonder how you did anything without it before
you'd heard of it.

Why is it better than strace and similar tools? It's
non-invasive, fast, scriptable and extensible.”
                                   - Wez Furlong



  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Performance Tuning - DEMO
DTrace provider for PHP
Which functions are being called by Drupal?
# dtrace -n function-entry'{printf(quot;called %s() in %s at 
 line %dnquot;,copyinstr(arg0), copyinstr(arg1), arg2)}' -q

How many times is a function called?
# dtrace -n function-entry'{@[copyinstr(arg0)] = count()}'

What's the file name and line number count:
# dtrace -n function-entry'{@[copyinstr(arg1)] = 
  lquantize(arg2, 0, 5000)}'




   DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Security

    RBAC


     − Assign users to roles with privileges they need

    Process Rights Management


     − Run with least privileges
     − E.g., not root, nosuid, noexec




                                                                    20
    DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Versioning & Protecting Data
ZFS snapshots & Rollback

$ zfs snapshot /data/site@31Oct
$ zfs snapshot /data/site@01Nov

 - - - DEPLOY -> SMOKE-TEST -> UH-OH! - - -

$ cp .zfs/snapshot/@01Nov/Drupal_5.2/themes/mysite 
./Drupal_5.2/themes




  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Project Caroline
Cloud Computing - Platform as a Service
                                                                       Internet
 Resource Types                                      Your
                                                 Service Code




                                              Launch service using
                                              multiple load-balanced
                                   +          processes, connected
                                             to a backend database.

                                                 Flex processes to
                                                  match demand.                   ●●●




  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Drupal and Java
PHP apps on Glassfish

     Two Options:


         Quercus http://caucho.com/products/quercus.xtp
    


         LRWP on Glassfish http://is.gd/mhxP
    



     Gives you:


         Database connection pooling
    


         JIT Compiler
    


         Makes possible clustering with Terracotta
    


         Access to vast Java class library
    




    DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Cool Drupal Site
                                 on Solaris



                                                                24
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
• 7 Creative Commons Licenses
• Drupal 5.10 + >12 new modules
• X64 tuned Webstack
• Solaris 10
• (2) SunFire X2200 M2 servers
• (1) 6TB SunStorage 3511
• Hosted at AMD datacenter

                                                                    26
    DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
For More Information
Get OpenSolaris
          http://opensolaris.org/os/downloads/
     −

ZFS
          http://opensolaris.org/os/community/zfs/
     −

          http://tinyurl.com/235vxe
     −

RBAC
          http://blogs.sun.com/darren/tags/rbac
     −

Project Caroline
          https://www.projectcaroline.net/
     −

VBox – Free Virtualization software
          http://www.virtualbox.org/
     −


  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
For More Information
NetBeans
        http://www.netbeans.org/
   −

VBox – Free Virtualization software
        http://www.virtualbox.org/
   −

Project Caroline
        https://www.projectcaroline.net/
   −

Glassfish
        http://glassfish.java.net/
   −

 Running MySQL in Solaris Zones
        http://wikis.sun.com/display/BluePrints/Running+MySQL+Database+in+Solaris+Containers%20
   −




   DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
For More Information
Get OpenSolaris
          http://opensolaris.org/os/downloads/
     −

ZFS
          http://opensolaris.org/os/community/zfs/
     −
          http://tinyurl.com/235vxe
     −

SMF & Security
          http://www.opensolaris.org/os/community/smf/
     −
          http://www.sun.com/software/solaris/howtoguides/s10securityhowto.jsp
     −

DTrace
          http://blogs.sun.com/bmc/entry/dtrace_and_php_demonstrated
     −

          http://blogs.sun.com/angelo/entry/dtrace_meet_the_amp_apache
     −

RBAC
          http://blogs.sun.com/darren/tags/rbac
     −

  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Q&A



Scott Mattoon
http://blogs.sun.com/downstream
twitter: smattoon

     DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
Resource Management & Isolation
    Projects and Zone resource configuration

Projects
#   projadd -c quot;Apache-PHPquot; -U webservd httpd.php
#   projmod -sK quot;project.max-sem-ids=(privileged,256,deny)quot; httpd.php
#   svccfg -s http:CSKapache2 setprop start/project = astring: httpd.php
#   svcadm -v enable CSKapache2

CPU Shares
global# zonecfg -z zone1
zonecfg:zone1> add rctl
zonecfg:zone1:rctl> set name=zone.cpu-shares
zonecfg:zone1:rctl> add value (priv=privileged,limit=15,action=none)
zonecfg:zone1:rctl> end
zonecfg:zone1> exit




      DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
The S in SAMP stands for Solaris
SMF for MySQL & Apache
MySQL
  # svcadm -v enable mysql

  # svcadm refresh mysql
  # svcadm restart mysql
  # svcadm disable mysql

Apache
  # svcadm -v enable apache22

  # svcadm refresh mysql
  # svcadm restart mysql
  # svcadm disable mysql




   DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale

More Related Content

What's hot

Nvidia GPU Tech Conference - Optimizing, Profiling, and Deploying TensorFlow...
Nvidia GPU Tech Conference -  Optimizing, Profiling, and Deploying TensorFlow...Nvidia GPU Tech Conference -  Optimizing, Profiling, and Deploying TensorFlow...
Nvidia GPU Tech Conference - Optimizing, Profiling, and Deploying TensorFlow...Chris Fregly
 
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Chris Fregly
 
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...Chris Fregly
 
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017Chris Fregly
 
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...Chris Fregly
 
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...Chris Fregly
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBoxlzap
 
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...Chris Fregly
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Chris Fregly
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...Chris Fregly
 
Apache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformApache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformWangda Tan
 
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...Chris Fregly
 
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...Chris Fregly
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)baggioss
 
Rh developers fat jar smackdown
Rh developers   fat jar smackdownRh developers   fat jar smackdown
Rh developers fat jar smackdownRed Hat Developers
 
How to collect Big Data into Hadoop
How to collect Big Data into HadoopHow to collect Big Data into Hadoop
How to collect Big Data into HadoopSadayuki Furuhashi
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelFuseSource.com
 

What's hot (20)

Nvidia GPU Tech Conference - Optimizing, Profiling, and Deploying TensorFlow...
Nvidia GPU Tech Conference -  Optimizing, Profiling, and Deploying TensorFlow...Nvidia GPU Tech Conference -  Optimizing, Profiling, and Deploying TensorFlow...
Nvidia GPU Tech Conference - Optimizing, Profiling, and Deploying TensorFlow...
 
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
Building Google's ML Engine from Scratch on AWS with GPUs, Kubernetes, Istio,...
 
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
PipelineAI + TensorFlow AI + Spark ML + Kuberenetes + Istio + AWS SageMaker +...
 
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017
High Performance Distributed TensorFlow with GPUs - NYC Workshop - July 9 2017
 
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
High Performance TensorFlow in Production -- Sydney ML / AI Train Workshop @ ...
 
Ndp Slides
Ndp SlidesNdp Slides
Ndp Slides
 
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...
Optimize + Deploy Distributed Tensorflow, Spark, and Scikit-Learn Models on G...
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBox
 
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...
Building Google Cloud ML Engine From Scratch on AWS with PipelineAI - ODSC Lo...
 
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
Hyper-Parameter Tuning Across the Entire AI Pipeline GPU Tech Conference San ...
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
 
Scaling Django
Scaling DjangoScaling Django
Scaling Django
 
Apache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformApache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning Platform
 
How Flipkart scales PHP
How Flipkart scales PHPHow Flipkart scales PHP
How Flipkart scales PHP
 
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...
High Performance Distributed TensorFlow with GPUs - TensorFlow Chicago Meetup...
 
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...
Optimizing, Profiling, and Deploying TensorFlow AI Models in Production with ...
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)
 
Rh developers fat jar smackdown
Rh developers   fat jar smackdownRh developers   fat jar smackdown
Rh developers fat jar smackdown
 
How to collect Big Data into Hadoop
How to collect Big Data into HadoopHow to collect Big Data into Hadoop
How to collect Big Data into Hadoop
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 

Viewers also liked

openarchitecturenetwork.org at Open Everything
openarchitecturenetwork.org at Open Everythingopenarchitecturenetwork.org at Open Everything
openarchitecturenetwork.org at Open Everythingsmattoon
 
Technology, apps, and websites you need to know about
Technology, apps, and websites you need to know aboutTechnology, apps, and websites you need to know about
Technology, apps, and websites you need to know aboutDoug Green
 
Presentatie Rv T Over Uitgeverij 24 Sept 2007
Presentatie Rv T Over Uitgeverij 24 Sept 2007Presentatie Rv T Over Uitgeverij 24 Sept 2007
Presentatie Rv T Over Uitgeverij 24 Sept 2007minkman
 
Green Makes Green V2
Green Makes Green V2Green Makes Green V2
Green Makes Green V2smattoon
 
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoon
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - MattoonDrupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoon
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoonsmattoon
 
Why Sun for Drupal?
Why Sun for Drupal?Why Sun for Drupal?
Why Sun for Drupal?smattoon
 
Test presentatie
Test presentatieTest presentatie
Test presentatieminkman
 
Drupalcon2007 Sun
Drupalcon2007 SunDrupalcon2007 Sun
Drupalcon2007 Sunsmattoon
 
Nzcom Presentation 2
Nzcom  Presentation 2Nzcom  Presentation 2
Nzcom Presentation 2Carolyn m
 
Micropayments
Micropayments Micropayments
Micropayments Stebo7386
 

Viewers also liked (14)

openarchitecturenetwork.org at Open Everything
openarchitecturenetwork.org at Open Everythingopenarchitecturenetwork.org at Open Everything
openarchitecturenetwork.org at Open Everything
 
Technology, apps, and websites you need to know about
Technology, apps, and websites you need to know aboutTechnology, apps, and websites you need to know about
Technology, apps, and websites you need to know about
 
Presentatie Rv T Over Uitgeverij 24 Sept 2007
Presentatie Rv T Over Uitgeverij 24 Sept 2007Presentatie Rv T Over Uitgeverij 24 Sept 2007
Presentatie Rv T Over Uitgeverij 24 Sept 2007
 
Green Makes Green V2
Green Makes Green V2Green Makes Green V2
Green Makes Green V2
 
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoon
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - MattoonDrupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoon
Drupal Deployment on Solaris - DrupalCamp Bay Area 2007 - Mattoon
 
Why Sun for Drupal?
Why Sun for Drupal?Why Sun for Drupal?
Why Sun for Drupal?
 
2006calendar
2006calendar2006calendar
2006calendar
 
Test presentatie
Test presentatieTest presentatie
Test presentatie
 
Drupalcon2007 Sun
Drupalcon2007 SunDrupalcon2007 Sun
Drupalcon2007 Sun
 
Nzcom Presentation 2
Nzcom  Presentation 2Nzcom  Presentation 2
Nzcom Presentation 2
 
Micropayments
Micropayments Micropayments
Micropayments
 
Pelvis 2
Pelvis 2Pelvis 2
Pelvis 2
 
Gbs
GbsGbs
Gbs
 
Earth Science
Earth ScienceEarth Science
Earth Science
 

Similar to Drupal Efficiency

Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert Carr
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaDana Luther
 
Super powered Drupal development with docker
Super powered Drupal development with dockerSuper powered Drupal development with docker
Super powered Drupal development with dockerMaciej Lukianski
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura Frank Tacho
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Dana Luther
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaSalvador Molina (Slv_)
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotClouddaoswald
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAJesus Manuel Olivas
 
Drupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthDrupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthPhilip Norton
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
 
Take care of hundred containers and not go crazy
Take care of hundred containers and not go crazyTake care of hundred containers and not go crazy
Take care of hundred containers and not go crazyHonza Horák
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django ArchitectureRami Sayar
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowvaluebound
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 MinutesRobert Carr
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails BasicsAmit Solanki
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e JenkinsContinuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e JenkinsBruno Padilha
 
Docker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationDocker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationRadek Baczynski
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteDr Nic Williams
 

Similar to Drupal Efficiency (20)

Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - Cascadia
 
Super powered Drupal development with docker
Super powered Drupal development with dockerSuper powered Drupal development with docker
Super powered Drupal development with docker
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotCloud
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
Drupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthDrupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp North
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
 
Take care of hundred containers and not go crazy
Take care of hundred containers and not go crazyTake care of hundred containers and not go crazy
Take care of hundred containers and not go crazy
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflow
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails Basics
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Continuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e JenkinsContinuous Delivery com Docker, OpenShift e Jenkins
Continuous Delivery com Docker, OpenShift e Jenkins
 
Docker for mac & local developer environment optimization
Docker for mac & local developer environment optimizationDocker for mac & local developer environment optimization
Docker for mac & local developer environment optimization
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - Keynote
 

Recently uploaded

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
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

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
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Drupal Efficiency

  • 1. When Efficiency Matters Drupal at Scale Scott Mattoon Sun Microsystems, Inc. http://blogs.sun.com/downstream http://twitter.com/smattoon 1 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 2. Agenda 2 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 3. NetBeans for Drupal DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 4. NetBeans for Drupal PHP Plugin http://wiki.netbeans.org/PHP  Run and Debug project action – break points, watches  Run single file, Debug single file, Run in command line  Wizard for creating new php and phtml files  Editing - Syntactic and Semantic coloring  Code Completion  File system code completion for include/require  Bracket Matching  Automatic Insertions (brackets, braces, parens, quotes)  Code Navigation - Go to Declaration/Type, Hyperlinking  Refactoring - Instant Rename  Drupal Module and Theme Wizard http://is.gd/lgnB  generates required files  provides template code  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 5. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 6. VirtualBox for Drupal DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 7. Top 10 Reasons for Running Virtual Box 10 - You want to impress your friends. 9 - Your wife has told you one more computer in the house and she's gone. 8 - Windows 3.1 is your favorite operating system. 7 - You want to make sure you have deleted all traces of what you have done. 6 - You want to give root to your baby sister. 5 - You want to try writing a kernel module while drunk. 4 - You want to install that cracked version of Photo Shop. 3 - You've always wondered what deleting /bin would do. 2 - You really REALLY want to click on that email attachment. 1 - You like running that older version of Internet Explorer. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 8. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 9. OpenSolaris for Drupal 9 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 10. WebStack OpenSolaris AMP +++ Django 1.0.2 python-genshi 0.5.1 SUNWmozldap 6.0.4 python-paste 1.7.1 SUNWxalanc 1.10.0 python-paste-deploy 1.3.2 SUNWxercesc 2.8.0 python-simplejson 1.9.2 drupal 6.3 python-simpletal 4.1 drupal-demo 6.3 python-turbocheetah 1.0 nginx 0.6.35 python-turbojson 1.1.4 phpmyadmin 2.11.7 python-turbokid 1.0.4 python-cheetah 2.0.1 varnish 2.0.2 python-configobj 4.5.3 webstack-dev-tools 0.1 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 11. Solaris – Linux Performance DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 12. Solaris – Linux Performance THROUGHPUT Lightweight & Complex Workloads DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 13. Solaris – Linux Performance THROUGHPUT zoom in Complex Workloads DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 14. The S in SAMP stands for Solaris Solaris Zones Free, lightweight and easy virtualization ★ Allocate a “system” to each app instance or to each developer ★ Resources are controlled in one of three ways ★ • Capped Resources: Upper limit on consumption • Guaranteed Resources: Guarantee of a minimum available • Dedicated Resources: Resources are set aside for share filesystems and network across zones ★ OR dedicate filesystems and network to individual zones ★ 14 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 15. Need Efficiency & Control? Hypothetical Constraints & Objectives Constraints: one server available  need to host four environments:  (2) Developers  (1) Test environment  (1) Production environment  Objectives: maximize sharing, minimize redundancy  guarantee max. resources for production  maximize efficiency & consistency btw. envs.  15 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 16. Solaris Zones for Efficiency & Control ... globalzone zoneA zoneB qazone prodzone Apache Apache Apache PHP PHP PHP dbzone1 Apache PHP MySQL MySQL DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 17. Solaris Zones for Efficiency & Control ... globalzone zoneA zoneB qazone prodzone /usr/ -ro -ro /usr’ ./apache -ro ./mysql -ro ./php -rw /data/drupal-6.10 -rw -ro -ro /data/drupal-5.10 ./misc -ro -ro ./modules -ro -ro ./scripts -ro -ro ./sites -rw -ro ./themes -ro -ro ./files -ro -rw DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 18. Find Hampster Wheels with DTrace DTrace provider for PHP “DTrace is one of those tools that makes you wonder how you did anything without it before you'd heard of it. Why is it better than strace and similar tools? It's non-invasive, fast, scriptable and extensible.” - Wez Furlong DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 19. Performance Tuning - DEMO DTrace provider for PHP Which functions are being called by Drupal? # dtrace -n function-entry'{printf(quot;called %s() in %s at line %dnquot;,copyinstr(arg0), copyinstr(arg1), arg2)}' -q How many times is a function called? # dtrace -n function-entry'{@[copyinstr(arg0)] = count()}' What's the file name and line number count: # dtrace -n function-entry'{@[copyinstr(arg1)] = lquantize(arg2, 0, 5000)}' DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 20. Security RBAC  − Assign users to roles with privileges they need Process Rights Management  − Run with least privileges − E.g., not root, nosuid, noexec 20 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 21. Versioning & Protecting Data ZFS snapshots & Rollback $ zfs snapshot /data/site@31Oct $ zfs snapshot /data/site@01Nov - - - DEPLOY -> SMOKE-TEST -> UH-OH! - - - $ cp .zfs/snapshot/@01Nov/Drupal_5.2/themes/mysite ./Drupal_5.2/themes DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 22. Project Caroline Cloud Computing - Platform as a Service Internet Resource Types Your Service Code Launch service using multiple load-balanced + processes, connected to a backend database. Flex processes to match demand. ●●● DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 23. Drupal and Java PHP apps on Glassfish Two Options:  Quercus http://caucho.com/products/quercus.xtp  LRWP on Glassfish http://is.gd/mhxP  Gives you:  Database connection pooling  JIT Compiler  Makes possible clustering with Terracotta  Access to vast Java class library  DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 24. Cool Drupal Site on Solaris 24 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 25. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 26. • 7 Creative Commons Licenses • Drupal 5.10 + >12 new modules • X64 tuned Webstack • Solaris 10 • (2) SunFire X2200 M2 servers • (1) 6TB SunStorage 3511 • Hosted at AMD datacenter 26 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 27. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 28. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 29. For More Information Get OpenSolaris http://opensolaris.org/os/downloads/ − ZFS http://opensolaris.org/os/community/zfs/ − http://tinyurl.com/235vxe − RBAC http://blogs.sun.com/darren/tags/rbac − Project Caroline https://www.projectcaroline.net/ − VBox – Free Virtualization software http://www.virtualbox.org/ − DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 30. For More Information NetBeans http://www.netbeans.org/ − VBox – Free Virtualization software http://www.virtualbox.org/ − Project Caroline https://www.projectcaroline.net/ − Glassfish http://glassfish.java.net/ − Running MySQL in Solaris Zones http://wikis.sun.com/display/BluePrints/Running+MySQL+Database+in+Solaris+Containers%20 − DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 31. For More Information Get OpenSolaris http://opensolaris.org/os/downloads/ − ZFS http://opensolaris.org/os/community/zfs/ − http://tinyurl.com/235vxe − SMF & Security http://www.opensolaris.org/os/community/smf/ − http://www.sun.com/software/solaris/howtoguides/s10securityhowto.jsp − DTrace http://blogs.sun.com/bmc/entry/dtrace_and_php_demonstrated − http://blogs.sun.com/angelo/entry/dtrace_meet_the_amp_apache − RBAC http://blogs.sun.com/darren/tags/rbac − DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 32. Q&A Scott Mattoon http://blogs.sun.com/downstream twitter: smattoon DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 33. Resource Management & Isolation Projects and Zone resource configuration Projects # projadd -c quot;Apache-PHPquot; -U webservd httpd.php # projmod -sK quot;project.max-sem-ids=(privileged,256,deny)quot; httpd.php # svccfg -s http:CSKapache2 setprop start/project = astring: httpd.php # svcadm -v enable CSKapache2 CPU Shares global# zonecfg -z zone1 zonecfg:zone1> add rctl zonecfg:zone1:rctl> set name=zone.cpu-shares zonecfg:zone1:rctl> add value (priv=privileged,limit=15,action=none) zonecfg:zone1:rctl> end zonecfg:zone1> exit DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  • 34. The S in SAMP stands for Solaris SMF for MySQL & Apache MySQL # svcadm -v enable mysql # svcadm refresh mysql # svcadm restart mysql # svcadm disable mysql Apache # svcadm -v enable apache22 # svcadm refresh mysql # svcadm restart mysql # svcadm disable mysql DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale