SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
1
Pulling a rabbit from a hat
How to make your apps run faster


George Barnett, Performance Engineer, Atlassian




                                                  2
                                                      2
Why are we here?
• How to make your Atlassian software run faster
• What doesnʼt work
• What Atlassian does to improve performance
• No development HOWTOs or code!




                                                   3
                                                       3
Who can improve performance?
• Atlassian
• YOU! (Thanks for watching!)




                                4
                                    4
Performance Engineering
• Isolate performance issues before they become headaches.
• Make sure these issues get fixed.




                                                             5
                                                                 5
Simple code lifecycle
   Developer writes code

               commit


   Unit & Functional tests   Reporting

               tests pass


     Software artefact




   Performance Testing       Reporting




                                         6
                                             6
Performance Testing Scripts
• Apache JMeter
• In beta for JIRA
 • Ask support@atlassian.com

• Available for Confluence
 • http://confluence.atlassian.com/display/DOC/Performance+Testing+Scripts




                                                                            7
                                                                                7
Performance Testing
• Real world data and load
 • Public Atlassian instances

• Performance test suite
 • JMeter & scripts

• Automation
 • Maven & Bamboo




                                8
                                    8
Performance Testing
• Daily performance tests
 • Most products & libraries

• Weekly soak tests
 • Run for much longer than daily tests

• Reporting for developers
 • Build screens, dashboards, notifications




                                             9
                                                 9
Reporting




            10
             10
Does it work?
       Jira 3.13                   Jira 4.0    Confluence 2.10       Confluence 3.0


  90                                          600


  68                                          450


  45                                          300


  23                                          150


   0                                            0
                   Browse Issue (ms)                      Browse Page (ms)


                                                                                    11
                                                                                     11
Upgrade your Atlassian Software!
• Dozens of Performance issues fixed
• Release criteria includes performance




                                          12
                                           12
You are here
• How I did the testing
 • Hardware & Software

• Must have improvements
 • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection

• Worth doing
 • Gigabit vs 100mbit, Heap size tuning, use an SSD

• Sadly, not useful
 • Tune MySQL, Replace MySQL


                                                                       13
                                                                        13
The contenders
• Dell PE 850 - “WALL-E”
• Xeon X3220 2.4Ghz Quad Core
 • Quad Core, 2 x 4Mb L3

• 8Gb DDR2 RAM
• 2 x 7.2K SAS Disks
• 1 x Intel X25-E 32GB SSD
• ~$1500

                                14
                                 14
The contenders
• Dell PE 2950 - “Johnny 5”
• 2 x Xeon E5405 2.0Ghz
 • Quad Core, 2 x 6M L3

• 32Gb RAM
• 2 x 72Gb 15K Drives
• ~$4000



                              15
                               15
The contenders
• Dell PE R610 - “EVE”
• 2 x Xeon E5520 2.2Ghz
 • Quad Core, 8M “SmartCache”

• 32Gb Ram
• 2 x 146G 15K drives
• ~$4000



                                16
                                 16
The Workload
• JIRA 4, MySQL 5, RHEL 5
• ~70,000 Issues, ~80 projects
• ~30 reqs/sec, JMeter 2.3.4 (patched, JSR-223)
• Traffic modelled on http://jira.atlassian.com with higher writes




                                                                    17
                                                                     17
About the graphs
• Most show Average Response Time in Milliseconds
 • Includes time to generate AND deliver the response
 • Does not include any browser time

• Arrows show if lower or higher is better!




                                                        18
                                                         18
You are here
• How I did the testing
 • Hardware & Software

• Must have improvements
 • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection

• Worth doing
 • Gigabit vs 100mbit, Heap size tuning, use an SSD

• Sadly, not useful
 • Tune MySQL, Replace MySQL


                                                                       19
                                                                        19
Must. Have.




              20
               20
Upgrade Java 1.5 to 1.6
• Advances in compiler / VM technology
 • Produces better runtime code
 • Able to use modern instructions, eg SSE
 • Able to use modern hardware, eg NUMA




                                             21
                                              21
Java 1.5 vs 1.6 (Johnny 5)
              Java 1.5.0_18                 Java 1.6.0_16

       1500


       1125


        750


        375


          0
                         Average Response Time (ms)
                                                            6.3X
                                                                   22
                                                                    22
Java 1.5 vs 1.6 (Johnny 5)
             Java 1.5.0_18                 Java 1.6.0_16


       380


       285


       190


        95


         0
                             Average CPU (%)
                                                           26%
                                                                 23
                                                                  23
Upgrade Java to 1.6
• 3 x HotSpot VM updates in 1.6.0_XX
• Advancing technology
 • Compressed OOPS on 64bit
 • Escape Analysis
 • G1 Garbage Collector
 • NUMA




                                       24
                                        24
Java 1.6 vs 1.6 (Eve)
                Java 1.6.0_7                 Java 1.6.0_16

          148


          146


          143


          141


          138                                                7%
                         Average Response Time (ms)
                                                                  25
                                                                   25
Hardware Upgrades
• Hyper-Threading
• QuickPath Interconnect
• Nehalem E5520 (Eve) have 3X on die DDR3 Memory Controllers
• Memory throughput improvements - good for Java!

             Technology                 Speed

             DDR2-800 (dual channel)    6.4 GB/sec
             DDR3-1333 (dual channel)   21.3 GB/sec

                                                               26
                                                                26
FSB architecture
• Shared bus
• 1333 MT/s = 1333M Transfers / sec
• 4 transfers/clock = 266Mhz.
                                         RAM

               CPU
                       FSB
                                North
                                Bridge
               CPU                       South
                                                  I/O: SATA, USB, etc
                                         Bridge


                                                                        27
                                                                         27
Quick Path Interconnect
• 3.2Ghz, 6.4 GT/sec
• 25.6 GB/sec



                       CPU
        RAM

                       QPI   IOH
        RAM            CPU

                                   28
                                    28
Hyper Threading

                           Thread 1
                                               CPU
                           Thread 2




Thread 1 runs until it hits a cache miss.

Thread 2 runs on the same CPU while T1 is awaiting data



                                                          29
                                                           29
Hardware Upgrades
    2.4Ghz Xeon (Wall-E)    2.0Ghz Xeon (Johnny 5)      2.2Ghz Xeon (Eve)


             2000


             1500


             1000


              500


                0                                                 8-12X
                           Average Response Time (ms)
                                                                            30
                                                                             30
Improved GC Throughput
    2.4Ghz Xeon (Wall-E)   2.0Ghz Xeon (Johnny 5)   2.2Ghz Xeon (Eve)


             30000


             22500


             15000


              7500


                 0                                             2-3X
                           GC Throughput (MB/sec)
                                                                        31
                                                                         31
Garbage Collection
• Javaʼs Virtual Machine manages memory
• New objects are continually created during runtime
• GC is the process of collecting dead objects to reclaim memory




                                                                   32
                                                                    32
Tune Garbage Collection
• Getting your GC tuning wrong is bad
• How bad?
• Are the defaults sane?




                                        33
                                         33
Tune Garbage Collection
                  CMS                 ParNew ParOld

   4000


   3000


   2000


   1000


      0
          Wall-E (ms)          Johnny 5 (ms)

                        Average Response Time
                                                      Eve (ms)
                                                                 2X
                                                                      34
                                                                       34
Tune Garbage Collection
                  CMS                ParNew ParOld

      500


      375


      250


      125


        0
            Johnny 5 (ms)

                   Average Response Time
                                           Eve (ms)
                                                      2X
                                                           35
                                                            35
Tune Garbage Collection
• Defaults are sane
• Parallel New + Parallel Old is fastest
• CMS prioritises low pauses over CPU usage
• CMS does not compact - can lead to heap fragmentation




                                                          36
                                                           36
VMWare
• Does being in a VM hurt?
• What if the risks are managed?




                                   37
                                    37
Remove VMWare
            Real             ESX 3.5            ESX 4i

      170


      128


       85


       43


        0
                   Average Response Time (ms)
                                                         43%
                                                               38
                                                                38
Remove VMWare
• On average ~30% slower
• Under extreme resource starvation, up to 100% slower
• Avoid VMWare for high traffic instances
• See the Atlassian docs for recommendations
 • http://confluence.atlassian.com/display/DOC/Running+Confluence+in+a+Virtualised+Environment
 • http://confluence.atlassian.com/display/JIRA/Running+JIRA+in+a+Virtualised+Environment




                                                                                               39
                                                                                                39
Upgrade your browsers!
• Use a modern browser
  • IE8, Safari 4 or Firefox 3.6

• Pick the browser thats right for you
• Avoid IE6 (unsupported and slow)
• http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/




                                                                                       40
                                                                                        40
You are here
• How I did the testing
 • Hardware & Software

• Must have improvements
 • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection

• Worth doing
 • Gigabit vs 100mbit, Heap size tuning, use an SSD

• Sadly, not useful
 • Tune MySQL, Replace MySQL


                                                                       41
                                                                        41
Maybe.




         42
          42
Gigabit Network vs 100Mbit
• Gigabit is faster, sure
• But 100Mb is OK if youʼre not doing big transfers, RIGHT?!




                                                               43
                                                                43
Use Gigabit
               100mb/sec                 1000mb/sec

        1900


        1825


        1750


        1675


        1600
                    Average Response Time (ms)
                                                      10%
                                                            44
                                                             44
Use Gigabit
• Lower RTT on Gigabit
• Unlikely to hit throughput limit
• If you have enough CPU power, keep the DB on localhost




                                                           45
                                                            45
Use Gigabit
              100Mbit               1000Mbit

        200


        188


        175


        163


        150
                    ReIndex Time (seconds)     26%
                                                     46
                                                      46
Heap size tuning
• Memory starvation is bad, but can we drown the system with too much
  memory




                                                                        47
                                                                         47
Heap size - Wall-E
               1.5G            3G         6G

       2000


       1500


       1000


        500


          0
                  Average Response Time
                                               23%
                                                     48
                                                      48
Heap size - Johnny 5
               1.5G   3G             6G       15G


         290


         218


         145


          73


           0
                      Average Response Time         49%
                                                          49
                                                           49
Heap size - Eve
              1.5G      3G             6G    15G


        170


        128


         85


         43


          0
                     Average Response Time         28%
                                                         50
                                                          50
Heap size tuning
• Heap too small - bad
• Heap too big - not bad!
• Bigger heaps give the JVM more room to work
• Diminishing returns from really big heaps




                                                51
                                                 51
Buy an SSD
• SSDs are FAST!
• SSDs are EXPENSIVE!
• SSDs are all the rage!
• DBAs are finally happy (almost!)




                                    52
                                     52
Buy an SSD
                        SATA       SSD


     800


     600


     400


     200


       0
             Browse Issue      Create Issue   33%
                                                    53
                                                     53
Buy an SSD
• Fast writes
 • 0.1ms Avg Service Time

• Most improvement comes from SSD on the DB
• Writing to the Lucene index means re-opening IndexReaders
 • Much faster on SSD

• Lucene Search Term Cache fits in OS buffers




                                                              54
                                                               54
You are here
• How I did the testing
 • Hardware & Software

• Must have improvements
 • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection

• Worth doing
 • Gigabit vs 100mbit, Heap size tuning, use an SSD

• Sadly, not useful
 • Tune MySQL, Replace MySQL


                                                                       55
                                                                        55
Meh.




       56
        56
Replace MySQL with MySQL
• MySQL 5.0.45 - RHEL 5
• MySQL 5.0.84 Percona B18.
• Percona HighPerf patches fix contention points
• Improved I/O
• Better scaling




                                                  57
                                                   57
Replace MySQL with MySQL
             MySQL 5.0.45                    Percona MySQL 5.0.85


      1687


      1515


      1344


      1172


      1000                                                          0.4%
                        Average Response Time (ms)
                                                                           58
                                                                            58
Replace MySQL with MySQL
           MySQL 5.0.45              Percona MySQL 5.0.84


      25


      19


      13


       6


       0                                                    0%
                          Average CPU(%)
                                                                 59
                                                                  59
Replace MySQL with MySQL
• JIRA doesnʼt do enough DB queries
• JIRA uses Lucene for many queries
• Percona Highperf MySQL really shines at high query rates
 • Try this if you share your DB server with other apps!




                                                             60
                                                              60
Tune MySQL
• InnoDB-Heavy-4G.conf


     sort_buffer_size = 8M
     join_buffer_size = 8M
     read_buffer_size = 2M
     read_rnd_buffer_size = 16M
     thread_concurrecy = 16




                                  61
                                   61
Tune MySQL
             Defaults                Tuned

    1710


    1533


    1355


    1178

                                             1%
    1000
              Average Response Time (ms)

                                                  62
                                                   62
Tune MySQL

    MyISAM                       ALL Engines

                                 join_buffer_size - Large joins
                                 without Indexes
     key_cache_age_threshold,
     key_cache_block_size,
                                 sort_buffer_size - Used by
     key_cache_division_limit,
                                 ORDER BY / GROUP BY
     key_buffer_size
     read_buffer_size,
                                 query_cache_size
     read_rnd_buffer_size
                                 query_cache_limit
     bulk_insert_buffer_size
                                 query_cache_min_res_unit

                                                                  63
                                                                   63
Tune MySQL
• Be sure to set innodb_buffer_pool_size
• Note! innodb_log_file_size will affect shutdown speed




                                                         64
                                                          64
Remember!
• Upgrade!
 • Atlassian software
 • Java to 1.6
 • Your server

• Use Parallel Garbage Collection with a BIG heap
• Remove VMWare if you can
• Use 1000mbit network
• Buy an SSD for write workloads

                                                    65
                                                     65
A final word
• Donʼt resist change but TEST EVERYTHING!




                                             66
                                              66
Thanks! Questions?
• Come chat to me in the hallway!
• Charlie Lounge, 10 June, 3pm - 4pm
• http://blogs.atlassian.com/developer




 Flickr Attributions:
 Siesta in Denmark - http://www.flickr.com/photos/jakecaptive/27123533/
 Day 11 - http://www.flickr.com/photos/ivanomak/4057632458/
 Blue Streak - http://www.flickr.com/photos/jettajet/2061715292/




                                                                          67
                                                                           67

Mais conteúdo relacionado

Mais procurados

Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedAsh Maurya
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stackKris Buytaert
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deploymentDaniel
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityAtlassian
 
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...Rakuten Group, Inc.
 
DevOps dans la vraie vie : Retours d'expériences
DevOps dans la vraie vie : Retours d'expériencesDevOps dans la vraie vie : Retours d'expériences
DevOps dans la vraie vie : Retours d'expériencesMicrosoft
 
Perforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce
 
How Atlassian made the switch to DVCS
How Atlassian made the switch to DVCSHow Atlassian made the switch to DVCS
How Atlassian made the switch to DVCSJohn Stevenson
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabTechWell
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetEdwin Biemond
 
Calculating the Savings of Moving Your Drupal Site to the Cloud
Calculating the Savings of Moving Your Drupal Site to the CloudCalculating the Savings of Moving Your Drupal Site to the Cloud
Calculating the Savings of Moving Your Drupal Site to the CloudAcquia
 
Introduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightIntroduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightJeremy Likness
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
Using Puppet with Self Service Provisioning
Using Puppet with Self Service ProvisioningUsing Puppet with Self Service Provisioning
Using Puppet with Self Service ProvisioningPuppet
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Moon
 
Delphix and Pure Storage partner
Delphix and Pure Storage partnerDelphix and Pure Storage partner
Delphix and Pure Storage partnerKyle Hailey
 
Atlassian Summit 2011 Day 2 Keynote
Atlassian Summit 2011 Day 2 KeynoteAtlassian Summit 2011 Day 2 Keynote
Atlassian Summit 2011 Day 2 KeynoteAtlassian
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012Henri Gomez
 
Overcoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyOvercoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyXebiaLabs
 

Mais procurados (20)

Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons Learned
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
 
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...
[RakutenTechConf2013] [D-2] RPaaS DevOps: Lessons from using Cloudfoundry in ...
 
DevOps dans la vraie vie : Retours d'expériences
DevOps dans la vraie vie : Retours d'expériencesDevOps dans la vraie vie : Retours d'expériences
DevOps dans la vraie vie : Retours d'expériences
 
Perforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For RealPerforce's Java Platform: Continuous Integration For Real
Perforce's Java Platform: Continuous Integration For Real
 
How Atlassian made the switch to DVCS
How Atlassian made the switch to DVCSHow Atlassian made the switch to DVCS
How Atlassian made the switch to DVCS
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
 
Calculating the Savings of Moving Your Drupal Site to the Cloud
Calculating the Savings of Moving Your Drupal Site to the CloudCalculating the Savings of Moving Your Drupal Site to the Cloud
Calculating the Savings of Moving Your Drupal Site to the Cloud
 
Introduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in SilverlightIntroduction to the Managed Extensibility Framework in Silverlight
Introduction to the Managed Extensibility Framework in Silverlight
 
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
MeasureWorks - Velocity Conference Europe 2012 - a Web Performance dashboard ...
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
Using Puppet with Self Service Provisioning
Using Puppet with Self Service ProvisioningUsing Puppet with Self Service Provisioning
Using Puppet with Self Service Provisioning
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Delphix and Pure Storage partner
Delphix and Pure Storage partnerDelphix and Pure Storage partner
Delphix and Pure Storage partner
 
Atlassian Summit 2011 Day 2 Keynote
Atlassian Summit 2011 Day 2 KeynoteAtlassian Summit 2011 Day 2 Keynote
Atlassian Summit 2011 Day 2 Keynote
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
 
Overcoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyOvercoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journey
 

Destaque

The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...
The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...
The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...Atlassian
 
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...Atlassian
 
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...Atlassian
 
Delivering World-Class Documentation and Support Through Confluence - Atlassi...
Delivering World-Class Documentation and Support Through Confluence - Atlassi...Delivering World-Class Documentation and Support Through Confluence - Atlassi...
Delivering World-Class Documentation and Support Through Confluence - Atlassi...Atlassian
 
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...Atlassian
 
Kaizen With GreenHopper: Visualising Agile & Kanban Storywalls
Kaizen With GreenHopper: Visualising Agile & Kanban StorywallsKaizen With GreenHopper: Visualising Agile & Kanban Storywalls
Kaizen With GreenHopper: Visualising Agile & Kanban StorywallsCraig Smith
 
Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010Atlassian
 
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchJIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchAtlassian
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingAnjali Rao
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To JiraHua Soon Sim
 

Destaque (12)

The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...
The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...
The Information Radiator: Creating Awesome Wallboards - Atlassian Summit 2010...
 
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...
Labels Magic: Getting Labels to Work for Your Confluence Deployment - Atlassi...
 
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...
5 Thing You're Not Doing, 4 Things You Should Stop Doing & 3 Things You Shoul...
 
Jira 4 Demo
Jira 4 DemoJira 4 Demo
Jira 4 Demo
 
Delivering World-Class Documentation and Support Through Confluence - Atlassi...
Delivering World-Class Documentation and Support Through Confluence - Atlassi...Delivering World-Class Documentation and Support Through Confluence - Atlassi...
Delivering World-Class Documentation and Support Through Confluence - Atlassi...
 
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
 
Kaizen With GreenHopper: Visualising Agile & Kanban Storywalls
Kaizen With GreenHopper: Visualising Agile & Kanban StorywallsKaizen With GreenHopper: Visualising Agile & Kanban Storywalls
Kaizen With GreenHopper: Visualising Agile & Kanban Storywalls
 
Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010Mastering JIRA Workflow - Atlassian Summit 2010
Mastering JIRA Workflow - Atlassian Summit 2010
 
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchJIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
 
Introducing JIRA AGILE
Introducing JIRA AGILEIntroducing JIRA AGILE
Introducing JIRA AGILE
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To Jira
 

Semelhante a Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010

Structure for scale: Dialing in your apps for optimal performance
Structure for scale: Dialing in your apps for optimal performanceStructure for scale: Dialing in your apps for optimal performance
Structure for scale: Dialing in your apps for optimal performanceAtlassian
 
Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesBruno Borges
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmapslidethanks
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmapslidethanks
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesRogue Wave Software
 
SSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSSSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSEugene Lazutkin
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Software Park Thailand
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresMaarten Smeets
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented DesignRodrigo Campos
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overviewJesse Warden
 
A first look at Open Liberty
A first look at Open LibertyA first look at Open Liberty
A first look at Open LibertyGraham Charters
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Cωνσtantίnoς Giannoulis
 
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksSenturus
 
JITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfJITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfRichHagarty
 
Topaz for Java Performance Webcast
Topaz for Java Performance WebcastTopaz for Java Performance Webcast
Topaz for Java Performance WebcastCompuware
 

Semelhante a Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010 (20)

Structure for scale: Dialing in your apps for optimal performance
Structure for scale: Dialing in your apps for optimal performanceStructure for scale: Dialing in your apps for optimal performance
Structure for scale: Dialing in your apps for optimal performance
 
Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmap
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmap
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
 
SSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSSSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJS
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented Design
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
A first look at Open Liberty
A first look at Open LibertyA first look at Open Liberty
A first look at Open Liberty
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The SequelVMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
VMworld Europe 2014: Virtualizing Databases Doing IT Right – The Sequel
 
01 java intro
01 java intro01 java intro
01 java intro
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
JITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfJITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdf
 
Topaz for Java Performance Webcast
Topaz for Java Performance WebcastTopaz for Java Performance Webcast
Topaz for Java Performance Webcast
 

Mais de Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelAtlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginAtlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingAtlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterAtlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindAtlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsAtlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

Mais de Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"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
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"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
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010

  • 1. 1
  • 2. Pulling a rabbit from a hat How to make your apps run faster George Barnett, Performance Engineer, Atlassian 2 2
  • 3. Why are we here? • How to make your Atlassian software run faster • What doesnʼt work • What Atlassian does to improve performance • No development HOWTOs or code! 3 3
  • 4. Who can improve performance? • Atlassian • YOU! (Thanks for watching!) 4 4
  • 5. Performance Engineering • Isolate performance issues before they become headaches. • Make sure these issues get fixed. 5 5
  • 6. Simple code lifecycle Developer writes code commit Unit & Functional tests Reporting tests pass Software artefact Performance Testing Reporting 6 6
  • 7. Performance Testing Scripts • Apache JMeter • In beta for JIRA • Ask support@atlassian.com • Available for Confluence • http://confluence.atlassian.com/display/DOC/Performance+Testing+Scripts 7 7
  • 8. Performance Testing • Real world data and load • Public Atlassian instances • Performance test suite • JMeter & scripts • Automation • Maven & Bamboo 8 8
  • 9. Performance Testing • Daily performance tests • Most products & libraries • Weekly soak tests • Run for much longer than daily tests • Reporting for developers • Build screens, dashboards, notifications 9 9
  • 10. Reporting 10 10
  • 11. Does it work? Jira 3.13 Jira 4.0 Confluence 2.10 Confluence 3.0 90 600 68 450 45 300 23 150 0 0 Browse Issue (ms) Browse Page (ms) 11 11
  • 12. Upgrade your Atlassian Software! • Dozens of Performance issues fixed • Release criteria includes performance 12 12
  • 13. You are here • How I did the testing • Hardware & Software • Must have improvements • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection • Worth doing • Gigabit vs 100mbit, Heap size tuning, use an SSD • Sadly, not useful • Tune MySQL, Replace MySQL 13 13
  • 14. The contenders • Dell PE 850 - “WALL-E” • Xeon X3220 2.4Ghz Quad Core • Quad Core, 2 x 4Mb L3 • 8Gb DDR2 RAM • 2 x 7.2K SAS Disks • 1 x Intel X25-E 32GB SSD • ~$1500 14 14
  • 15. The contenders • Dell PE 2950 - “Johnny 5” • 2 x Xeon E5405 2.0Ghz • Quad Core, 2 x 6M L3 • 32Gb RAM • 2 x 72Gb 15K Drives • ~$4000 15 15
  • 16. The contenders • Dell PE R610 - “EVE” • 2 x Xeon E5520 2.2Ghz • Quad Core, 8M “SmartCache” • 32Gb Ram • 2 x 146G 15K drives • ~$4000 16 16
  • 17. The Workload • JIRA 4, MySQL 5, RHEL 5 • ~70,000 Issues, ~80 projects • ~30 reqs/sec, JMeter 2.3.4 (patched, JSR-223) • Traffic modelled on http://jira.atlassian.com with higher writes 17 17
  • 18. About the graphs • Most show Average Response Time in Milliseconds • Includes time to generate AND deliver the response • Does not include any browser time • Arrows show if lower or higher is better! 18 18
  • 19. You are here • How I did the testing • Hardware & Software • Must have improvements • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection • Worth doing • Gigabit vs 100mbit, Heap size tuning, use an SSD • Sadly, not useful • Tune MySQL, Replace MySQL 19 19
  • 20. Must. Have. 20 20
  • 21. Upgrade Java 1.5 to 1.6 • Advances in compiler / VM technology • Produces better runtime code • Able to use modern instructions, eg SSE • Able to use modern hardware, eg NUMA 21 21
  • 22. Java 1.5 vs 1.6 (Johnny 5) Java 1.5.0_18 Java 1.6.0_16 1500 1125 750 375 0 Average Response Time (ms) 6.3X 22 22
  • 23. Java 1.5 vs 1.6 (Johnny 5) Java 1.5.0_18 Java 1.6.0_16 380 285 190 95 0 Average CPU (%) 26% 23 23
  • 24. Upgrade Java to 1.6 • 3 x HotSpot VM updates in 1.6.0_XX • Advancing technology • Compressed OOPS on 64bit • Escape Analysis • G1 Garbage Collector • NUMA 24 24
  • 25. Java 1.6 vs 1.6 (Eve) Java 1.6.0_7 Java 1.6.0_16 148 146 143 141 138 7% Average Response Time (ms) 25 25
  • 26. Hardware Upgrades • Hyper-Threading • QuickPath Interconnect • Nehalem E5520 (Eve) have 3X on die DDR3 Memory Controllers • Memory throughput improvements - good for Java! Technology Speed DDR2-800 (dual channel) 6.4 GB/sec DDR3-1333 (dual channel) 21.3 GB/sec 26 26
  • 27. FSB architecture • Shared bus • 1333 MT/s = 1333M Transfers / sec • 4 transfers/clock = 266Mhz. RAM CPU FSB North Bridge CPU South I/O: SATA, USB, etc Bridge 27 27
  • 28. Quick Path Interconnect • 3.2Ghz, 6.4 GT/sec • 25.6 GB/sec CPU RAM QPI IOH RAM CPU 28 28
  • 29. Hyper Threading Thread 1 CPU Thread 2 Thread 1 runs until it hits a cache miss. Thread 2 runs on the same CPU while T1 is awaiting data 29 29
  • 30. Hardware Upgrades 2.4Ghz Xeon (Wall-E) 2.0Ghz Xeon (Johnny 5) 2.2Ghz Xeon (Eve) 2000 1500 1000 500 0 8-12X Average Response Time (ms) 30 30
  • 31. Improved GC Throughput 2.4Ghz Xeon (Wall-E) 2.0Ghz Xeon (Johnny 5) 2.2Ghz Xeon (Eve) 30000 22500 15000 7500 0 2-3X GC Throughput (MB/sec) 31 31
  • 32. Garbage Collection • Javaʼs Virtual Machine manages memory • New objects are continually created during runtime • GC is the process of collecting dead objects to reclaim memory 32 32
  • 33. Tune Garbage Collection • Getting your GC tuning wrong is bad • How bad? • Are the defaults sane? 33 33
  • 34. Tune Garbage Collection CMS ParNew ParOld 4000 3000 2000 1000 0 Wall-E (ms) Johnny 5 (ms) Average Response Time Eve (ms) 2X 34 34
  • 35. Tune Garbage Collection CMS ParNew ParOld 500 375 250 125 0 Johnny 5 (ms) Average Response Time Eve (ms) 2X 35 35
  • 36. Tune Garbage Collection • Defaults are sane • Parallel New + Parallel Old is fastest • CMS prioritises low pauses over CPU usage • CMS does not compact - can lead to heap fragmentation 36 36
  • 37. VMWare • Does being in a VM hurt? • What if the risks are managed? 37 37
  • 38. Remove VMWare Real ESX 3.5 ESX 4i 170 128 85 43 0 Average Response Time (ms) 43% 38 38
  • 39. Remove VMWare • On average ~30% slower • Under extreme resource starvation, up to 100% slower • Avoid VMWare for high traffic instances • See the Atlassian docs for recommendations • http://confluence.atlassian.com/display/DOC/Running+Confluence+in+a+Virtualised+Environment • http://confluence.atlassian.com/display/JIRA/Running+JIRA+in+a+Virtualised+Environment 39 39
  • 40. Upgrade your browsers! • Use a modern browser • IE8, Safari 4 or Firefox 3.6 • Pick the browser thats right for you • Avoid IE6 (unsupported and slow) • http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/ 40 40
  • 41. You are here • How I did the testing • Hardware & Software • Must have improvements • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection • Worth doing • Gigabit vs 100mbit, Heap size tuning, use an SSD • Sadly, not useful • Tune MySQL, Replace MySQL 41 41
  • 42. Maybe. 42 42
  • 43. Gigabit Network vs 100Mbit • Gigabit is faster, sure • But 100Mb is OK if youʼre not doing big transfers, RIGHT?! 43 43
  • 44. Use Gigabit 100mb/sec 1000mb/sec 1900 1825 1750 1675 1600 Average Response Time (ms) 10% 44 44
  • 45. Use Gigabit • Lower RTT on Gigabit • Unlikely to hit throughput limit • If you have enough CPU power, keep the DB on localhost 45 45
  • 46. Use Gigabit 100Mbit 1000Mbit 200 188 175 163 150 ReIndex Time (seconds) 26% 46 46
  • 47. Heap size tuning • Memory starvation is bad, but can we drown the system with too much memory 47 47
  • 48. Heap size - Wall-E 1.5G 3G 6G 2000 1500 1000 500 0 Average Response Time 23% 48 48
  • 49. Heap size - Johnny 5 1.5G 3G 6G 15G 290 218 145 73 0 Average Response Time 49% 49 49
  • 50. Heap size - Eve 1.5G 3G 6G 15G 170 128 85 43 0 Average Response Time 28% 50 50
  • 51. Heap size tuning • Heap too small - bad • Heap too big - not bad! • Bigger heaps give the JVM more room to work • Diminishing returns from really big heaps 51 51
  • 52. Buy an SSD • SSDs are FAST! • SSDs are EXPENSIVE! • SSDs are all the rage! • DBAs are finally happy (almost!) 52 52
  • 53. Buy an SSD SATA SSD 800 600 400 200 0 Browse Issue Create Issue 33% 53 53
  • 54. Buy an SSD • Fast writes • 0.1ms Avg Service Time • Most improvement comes from SSD on the DB • Writing to the Lucene index means re-opening IndexReaders • Much faster on SSD • Lucene Search Term Cache fits in OS buffers 54 54
  • 55. You are here • How I did the testing • Hardware & Software • Must have improvements • Upgrade Java, Hardware, Remove VMWare and tune Garbage Collection • Worth doing • Gigabit vs 100mbit, Heap size tuning, use an SSD • Sadly, not useful • Tune MySQL, Replace MySQL 55 55
  • 56. Meh. 56 56
  • 57. Replace MySQL with MySQL • MySQL 5.0.45 - RHEL 5 • MySQL 5.0.84 Percona B18. • Percona HighPerf patches fix contention points • Improved I/O • Better scaling 57 57
  • 58. Replace MySQL with MySQL MySQL 5.0.45 Percona MySQL 5.0.85 1687 1515 1344 1172 1000 0.4% Average Response Time (ms) 58 58
  • 59. Replace MySQL with MySQL MySQL 5.0.45 Percona MySQL 5.0.84 25 19 13 6 0 0% Average CPU(%) 59 59
  • 60. Replace MySQL with MySQL • JIRA doesnʼt do enough DB queries • JIRA uses Lucene for many queries • Percona Highperf MySQL really shines at high query rates • Try this if you share your DB server with other apps! 60 60
  • 61. Tune MySQL • InnoDB-Heavy-4G.conf sort_buffer_size = 8M join_buffer_size = 8M read_buffer_size = 2M read_rnd_buffer_size = 16M thread_concurrecy = 16 61 61
  • 62. Tune MySQL Defaults Tuned 1710 1533 1355 1178 1% 1000 Average Response Time (ms) 62 62
  • 63. Tune MySQL MyISAM ALL Engines join_buffer_size - Large joins without Indexes key_cache_age_threshold, key_cache_block_size, sort_buffer_size - Used by key_cache_division_limit, ORDER BY / GROUP BY key_buffer_size read_buffer_size, query_cache_size read_rnd_buffer_size query_cache_limit bulk_insert_buffer_size query_cache_min_res_unit 63 63
  • 64. Tune MySQL • Be sure to set innodb_buffer_pool_size • Note! innodb_log_file_size will affect shutdown speed 64 64
  • 65. Remember! • Upgrade! • Atlassian software • Java to 1.6 • Your server • Use Parallel Garbage Collection with a BIG heap • Remove VMWare if you can • Use 1000mbit network • Buy an SSD for write workloads 65 65
  • 66. A final word • Donʼt resist change but TEST EVERYTHING! 66 66
  • 67. Thanks! Questions? • Come chat to me in the hallway! • Charlie Lounge, 10 June, 3pm - 4pm • http://blogs.atlassian.com/developer Flickr Attributions: Siesta in Denmark - http://www.flickr.com/photos/jakecaptive/27123533/ Day 11 - http://www.flickr.com/photos/ivanomak/4057632458/ Blue Streak - http://www.flickr.com/photos/jettajet/2061715292/ 67 67