bay area drupal camp efficiency
DESCRIPTION
Slides presented at Bay Area Drupal Camp San Francisco, June 6 2009TRANSCRIPT
![Page 1: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/1.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
1
When Efficiency Mattersfor
Drupal
Scott MattoonSun Microsystems, Inc.http://blogs.sun.com/downstreamhttp://twitter.com/smattoon
Monday, June 8, 2009
![Page 2: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/2.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Agenda
2
Monday, June 8, 2009
![Page 3: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/3.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
NetBeans for Drupal
Monday, June 8, 2009
![Page 4: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/4.jpg)
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 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
Monday, June 8, 2009
![Page 5: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/5.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Monday, June 8, 2009
![Page 6: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/6.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
VirtualBox for Drupal
Monday, June 8, 2009
![Page 7: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/7.jpg)
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 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.
Monday, June 8, 2009
![Page 8: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/8.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Monday, June 8, 2009
![Page 9: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/9.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
9
OpenSolaris for Drupal
Monday, June 8, 2009
![Page 10: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/10.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Glassfish WebStackOpenSolaris AMP +++
Apache 2.2.11
lighttpd 1.4.21
Squid 2.7.6
MySQL 5.10
PHP 5.2.9
Ruby 1.8.7
nginx 0.6.35
Python 2.6.1
memcached 1.2.5
Apache Tomcat 6.0.18
Glassfish Enterprise 2.1
Web Stack Manager 1.5
webstack-dev-tools 0.1
Monday, June 8, 2009
![Page 11: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/11.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Solaris – Linux Performance
Monday, June 8, 2009
![Page 12: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/12.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
THROUGHPUT Lightweight & Complex Workloads
Solaris – Linux Performance
Monday, June 8, 2009
![Page 13: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/13.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
THROUGHPUT zoom inComplex Workloads
Solaris – Linux Performance
Monday, June 8, 2009
![Page 14: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/14.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
14
The S in SAMP stands for SolarisSolaris 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 zonesOR
★ dedicate filesystems and network to individual zones
Monday, June 8, 2009
![Page 15: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/15.jpg)
Bay Area Drupal Camp 2009 San Francisco | 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.
Monday, June 8, 2009
![Page 16: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/16.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
globalzone zoneBzoneA qazone prodzone
Solaris Zones for Efficiency & Control...
dbzone1
MySQL MySQL
Apache
PHP PHP
Apache
PHP
Apache
PHP
Apache
PHP
Apache
Monday, June 8, 2009
![Page 17: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/17.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
globalzone zoneBzoneA 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
Solaris Zones for Efficiency & Control...
Monday, June 8, 2009
![Page 18: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/18.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
“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
Find Hampster Wheels with DTraceDTrace provider for PHP
Monday, June 8, 2009
![Page 19: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/19.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Performance Tuning - DEMODTrace provider for PHP
Which functions are being called by Drupal?# dtrace -n function-entry'{printf("called %s() in %s at \ line %d\n",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)}'
Monday, June 8, 2009
![Page 20: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/20.jpg)
Bay Area Drupal Camp 2009 San Francisco | 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
Monday, June 8, 2009
![Page 21: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/21.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Versioning & Protecting Data
$ 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
ZFS snapshots & Rollback
Monday, June 8, 2009
![Page 22: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/22.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Project CarolineCloud Computing - Platform as a Service
Your Service Code
Resource Types
Launch service using multiple load-balanced processes, connected
to a backend database.
Flex processes tomatch demand.
+
Internet
●●●
Monday, June 8, 2009
![Page 23: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/23.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Drupal and JavaPHP 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
Monday, June 8, 2009
![Page 24: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/24.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
24
Cool Drupal Siteon Solaris
Monday, June 8, 2009
![Page 25: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/25.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Monday, June 8, 2009
![Page 26: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/26.jpg)
Bay Area Drupal Camp 2009 San Francisco | 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
Monday, June 8, 2009
![Page 27: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/27.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Monday, June 8, 2009
![Page 28: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/28.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Monday, June 8, 2009
![Page 29: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/29.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
For More InformationGet 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/
Monday, June 8, 2009
![Page 30: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/30.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
For More InformationNetBeans
− 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
Monday, June 8, 2009
![Page 31: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/31.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
For More InformationGet 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
Monday, June 8, 2009
![Page 32: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/32.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Q&A
Scott Mattoon
http://blogs.sun.com/downstreamtwitter: smattoon
Monday, June 8, 2009
![Page 33: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/33.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
Resource Management & IsolationProjects and Zone resource configuration
Projects# projadd -c "Apache-PHP" -U webservd httpd.php# projmod -sK "project.max-sem-ids=(privileged,256,deny)" httpd.php# svccfg -s http:CSKapache2 setprop start/project = astring: httpd.php# svcadm -v enable CSKapache2
CPU Sharesglobal# zonecfg -z zone1zonecfg:zone1> add rctlzonecfg:zone1:rctl> set name=zone.cpu-shareszonecfg:zone1:rctl> add value (priv=privileged,limit=15,action=none)zonecfg:zone1:rctl> endzonecfg:zone1> exit
Monday, June 8, 2009
![Page 34: Bay Area Drupal Camp Efficiency](https://reader034.vdocuments.mx/reader034/viewer/2022051400/54bfa8294a79597d1e8b4622/html5/thumbnails/34.jpg)
Bay Area Drupal Camp 2009 San Francisco | When Efficiency Matters - Drupal at Scale
The S in SAMP stands for Solaris
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
SMF for MySQL & Apache
Monday, June 8, 2009