When Efficiency Matters
                                                                            for
                  ...
Agenda




                                                                                                   2
          ...
NetBeans for Drupal




             Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale

...
NetBeans for Drupal

                 PHP Plugin http://wiki.netbeans.org/PHP
                    Run and Debug project ...
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale


Monday, June 8, 2009
VirtualBox for Drupal




             Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale...
Top 10 Reasons for Running Virtual Box

           10 - You want to impress your friends.
           9 - Your wife has tol...
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale


Monday, June 8, 2009
OpenSolaris for Drupal




                                                                                               ...
Glassfish WebStack
        OpenSolaris AMP +++

         Apache                                        2.2.11             ...
Solaris – Linux Performance




             Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at...
Solaris – Linux Performance
        THROUGHPUT
        Lightweight & Complex Workloads




             Bay Area Drupal Ca...
Solaris – Linux Performance
        THROUGHPUT zoom in
        Complex Workloads




             Bay Area Drupal Camp 200...
The S in SAMP stands for Solaris
        Solaris Zones
           ★   Free, lightweight and easy virtualization
          ...
Need Efficiency & Control?
       Hypothetical Constraints & Objectives

          Constraints:
              one server ...
Solaris Zones for Efficiency & Control
       globalzone                              zoneA                     zoneB     ...
Solaris Zones for Efficiency & Control
       globalzone                              zoneA                     zoneB     ...
Find Hampster Wheels with DTrace
        DTrace provider for PHP

        “DTrace is one of those tools that makes you
   ...
Performance Tuning - DEMO
        DTrace provider for PHP
        Which functions are being called by Drupal?
        # dt...
Security

           RBAC
             − Assign users to roles with privileges they need
           Process Rights Manag...
Versioning & Protecting Data
        ZFS snapshots & Rollback

         $ zfs snapshot /data/site@31Oct

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

              Two Options:
                  Quercus http://caucho.com/pr...
Cool Drupal Site
                                              on Solaris



                                             ...
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale


Monday, June 8, 2009
• 7 Creative Commons Licenses
  • Drupal 5.10 + >12 new modules
  • X64 tuned Webstack
  • Solaris 10
  • (2) SunFire X220...
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale


Monday, June 8, 2009
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale


Monday, June 8, 2009
For More Information
        Get OpenSolaris
                −    http://opensolaris.org/os/downloads/
        ZFS
       ...
For More Information
      NetBeans
              −   http://www.netbeans.org/
      VBox – Free Virtualization software
 ...
For More Information
        Get OpenSolaris
                −    http://opensolaris.org/os/downloads/
        ZFS
       ...
Q&A



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

             Bay Area Drupal Camp 2...
Resource Management & Isolation
         Projects and Zone resource configuration

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

        ...
Upcoming SlideShare
Loading in...5
×

Bay Area Drupal Camp Efficiency

1,386

Published on

Slides presented at Bay Area Drupal Camp San Francisco, June 6 2009

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,386
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Bay Area Drupal Camp Efficiency"

  1. 1. When Efficiency Matters for Drupal Scott Mattoon Sun Microsystems, Inc. http://blogs.sun.com/downstream http://twitter.com/smattoon 1 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  2. 2. Agenda 2 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  3. 3. NetBeans for Drupal Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  5. 5. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  6. 6. VirtualBox for Drupal Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  8. 8. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  9. 9. OpenSolaris for Drupal 9 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  10. 10. Glassfish WebStack OpenSolaris AMP +++ Apache 2.2.11 Python 2.6.1 lighttpd 1.4.21 memcached 1.2.5 Squid 2.7.6 Apache Tomcat 6.0.18 MySQL 5.10 Glassfish Enterprise 2.1 PHP 5.2.9 Web Stack Manager 1.5 Ruby 1.8.7 nginx 0.6.35 webstack-dev-tools 0.1 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  11. 11. Solaris – Linux Performance Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  12. 12. Solaris – Linux Performance THROUGHPUT Lightweight & Complex Workloads Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  13. 13. Solaris – Linux Performance THROUGHPUT zoom in Complex Workloads Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  16. 16. Solaris Zones for Efficiency & Control globalzone zoneA zoneB ... qazone prodzone Apache Apache Apache PHP PHP PHP dbzone1 Apache PHP MySQL MySQL Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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.12 -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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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)}' Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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. ●●● Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  24. 24. Cool Drupal Site on Solaris 24 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  25. 25. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  27. 27. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  28. 28. Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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/ Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  32. 32. Q&A Scott Mattoon http://blogs.sun.com/downstream twitter: smattoon Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  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 Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale Monday, June 8, 2009
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×