When Efficiency Matters
                                         Drupal at Scale

Scott Mattoon
Sun Microsystems, Inc.
htt...
Agenda




                                                                  2
  DrupalCon DC 2009 | When Efficiency Matte...
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 poin...
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 compute...
DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
OpenSolaris for Drupal




                                                                9
DrupalCon DC 2009 | When Effi...
WebStack
OpenSolaris AMP +++
Django            1.0.2                                           python-genshi         0.5.1...
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 -...
Solaris – Linux Performance
THROUGHPUT zoom in
Complex Workloads




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

     Allocate a “system”...
Need Efficiency & Control?
Hypothetical Constraints & Objectives

 Constraints:
      one server available
 


      need...
Solaris Zones for Efficiency & Control
                                                                            ...
glo...
Solaris Zones for Efficiency & Control
                                                                            ...
glo...
Find Hampster Wheels with DTrace
DTrace provider for PHP

“DTrace is one of those tools that makes you
wonder how you did ...
Performance Tuning - DEMO
DTrace provider for PHP
Which functions are being called by Drupal?
# dtrace -n function-entry'{...
Security

    RBAC


     − Assign users to roles with privileges they need

    Process Rights Management


     − Run ...
Versioning & Protecting Data
ZFS snapshots & Rollback

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

 -...
Project Caroline
Cloud Computing - Platform as a Service
                                                                 ...
Drupal and Java
PHP apps on Glassfish

     Two Options:


         Quercus http://caucho.com/products/quercus.xtp
    
...
Cool Drupal Site
                                 on Solaris



                                                          ...
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 ser...
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://opensolar...
For More Information
NetBeans
        http://www.netbeans.org/
   −

VBox – Free Virtualization software
        http://ww...
For More Information
Get OpenSolaris
          http://opensolaris.org/os/downloads/
     −

ZFS
          http://opensolar...
Q&A



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

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

Projects
#   projadd -c quot;Apache-PHPquot;...
The S in SAMP stands for Solaris
SMF for MySQL & Apache
MySQL
  # svcadm -v enable mysql

  # svcadm refresh mysql
  # svc...
Upcoming SlideShare
Loading in...5
×

Drupal Efficiency

2,050

Published on

Sun technologies to address Efficiency challenges for Developers
(Coding, Testing Analyzing, Tuning, Collaborating) and for Deployers (Installing, Virtualizing, Securing, Scaling, Automating)

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,050
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
66
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Drupal Efficiency

  1. 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. 2. Agenda 2 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  3. 3. NetBeans for Drupal DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  4. 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. 5. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  6. 6. VirtualBox for Drupal DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  7. 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. 8. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  9. 9. OpenSolaris for Drupal 9 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  10. 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. 11. Solaris – Linux Performance DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  12. 12. Solaris – Linux Performance THROUGHPUT Lightweight & Complex Workloads DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  13. 13. Solaris – Linux Performance THROUGHPUT zoom in Complex Workloads DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. Cool Drupal Site on Solaris 24 DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  25. 25. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  26. 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. 27. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  28. 28. DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  29. 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. 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. 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. 32. Q&A Scott Mattoon http://blogs.sun.com/downstream twitter: smattoon DrupalCon DC 2009 | When Efficiency Matters - Drupal at Scale
  33. 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. 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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×