SlideShare a Scribd company logo
1 of 36
Download to read offline
XNAT Tuning & Monitoring
                             John Paulett
                      jpaulett@wustl.edu
                          June 29, 2010
Overview
Share NRG’s experiences running a large XNAT
  installation, including methods for tuning,
   testing, and monitoring the application.
Plan
1.   Sample XNAT Architecture
2.   Hardware “Recommendations”
3.   Monitoring XNAT
4.   Performance Testing Tools
5.   Tuning XNAT
XNAT SCALES!
XNAT Scales
From a single study with dozens of scans

To hundreds of studies, including large, multi-
  site studies
Central Neuroimaging Data Archive
(CNDA)
Flagship XNAT installation at Washington
  University (WUSTL)

As of June 2010:
  – 500 studies
  – 8000 subjects
  – 11k imaging sessions
  – 9 TB of data
CNDA Architecture
CNDA Architecture
• 1x Kemp load balancer
  – SSL acceleration
• 1x Quad-core Xeon, 16GB RAM: PostgreSQL
  8.3
• 2x Dual-core Xeon, 4GB RAM (one in
  standby): Tomcat 5.5 & DicomServer
• BlueArc NAS
• Multiple Sun Grid Engine nodes
FUTURE ARCHITECTURE
Future Architecture
Reduce single points of failure
  – Standby Kemp load balancer
  – PostgreSQL Warm Standby
  – Actively load balance Tomcat
  – Archival storage SAN

Use new super computer at WUSTL

Improve ability to upgrade without downtime
Future Architecture
“RECOMMENDED” HARDWARE
Grow into your Architecture
Get single good server
  – Multicore with 4-16GB RAM (better than
    central.xnat.org)
  – Consider your archive’s future size & location


When you outgrow:
  – Buy a more powerful machine for PostgreSQL
  – Leave Tomcat on first server
MONITORING XNAT
Pingdom
• World-wide tests for site availability &
  response time
• SMS & Email alerts when sites are
  unavailable
Munin
PostgreSQL, Tomcat, & Linux metrics over time
  – Memory, CPU, queries, requests, etc.
Monit
Active process monitoring & management

Define criteria for emailing alerts & restarting
 processes
  – CPU, memory thresholds
  – Connection failures (check web services)
PERFORMANCE TESTING TOOLS
JMeter
Generate load & analyze throughput

Complex HTTP transactions
JMeter




         https://svn.apache.org/repos/asf/jakarta/jmeter/
YourKit Profiling
Lower level debugging tool

Memory & CPU profiling

Hunt down memory leaks & code hot spots

Can instrument in production server
http://jira.atlassian.com/browse/JRA-12524
TUNING XNAT
On Tuning
Tuning results dependent on many variables,
  what worked in one case may not work
  universally

XNAT is a complex system! Some parts are CPU
  bound, others are memory bound, and others
  are bandwidth bound

General rule:
 faster CPUs + more RAM + bigger network pipe = faster XNAT
On Tuning
1.   Find something that is “slow”
2.   Quantify slowness
3.   Tune
4.   Quantify improvement
5.   Go to #1
PostgreSQL Tuning
PostgreSQL 8.3 has serious performance
  improvements

Put PostgreSQL and Tomcat on separate
  machines
  – Get powerful database machine
  – PostgreSQL can take advantage of multiple
    cores & lots of RAM
postgresql.conf
Default settings designed for legacy machines

Increase available memory. Allows query planner
  to do more work in RAM and less on disk

Increase max connections

Tweak kernel settings to allow access to more
  memory
Tomcat Tuning
Increase available memory & use “server VM”

catalina.sh:
JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256m" "-
  XX:PermSize=256m" "-mx1512m" "-server"
Tomcat Tuning
Increase connections & threads in server.xml

  – At this point, consider load balancing between
    multiple Tomcat servers
XNAT Tuning
Upgrade to XNAT 1.4!

Increase MaxConnections to database in
 WEB-INF/conf/InstanceSettings.xml
  – Set in line with PostgreSQL’s max_connections
Tools Mentioned
Google Analytics: Free
Pingdom: Monthly subscription. One site free
Munin: Open Source
Monit: Open Source
JMeter: Open Source
YourKit: Commercial. Time-limited trial & free
  for open source
Questions & Your Experiences?
http://www.xnat.org/XNAT+2010+Workshop+-
   +Tuning,+Optimization,+Monitoring
XNAT Tuning & Monitoring

More Related Content

What's hot

OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebula Project
 
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
OpenNebula Project
 

What's hot (20)

Mosix Cluster
Mosix ClusterMosix Cluster
Mosix Cluster
 
USENIX NSDI 2016 (Session: Resource Sharing)
USENIX NSDI 2016 (Session: Resource Sharing)USENIX NSDI 2016 (Session: Resource Sharing)
USENIX NSDI 2016 (Session: Resource Sharing)
 
State of Gluster Performance
State of Gluster PerformanceState of Gluster Performance
State of Gluster Performance
 
NSCC Training Introductory Class
NSCC Training  Introductory ClassNSCC Training  Introductory Class
NSCC Training Introductory Class
 
クラウド時代の半導体メモリー技術
クラウド時代の半導体メモリー技術クラウド時代の半導体メモリー技術
クラウド時代の半導体メモリー技術
 
NSCC Training - Introductory Class
NSCC Training - Introductory ClassNSCC Training - Introductory Class
NSCC Training - Introductory Class
 
NSCC Training Introductory Class
NSCC Training Introductory Class NSCC Training Introductory Class
NSCC Training Introductory Class
 
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
 
ДЕНИС КЛЕПIКОВ «Long Term storage for Prometheus» Lviv DevOps Conference 2019
ДЕНИС КЛЕПIКОВ «Long Term storage for Prometheus» Lviv DevOps Conference 2019ДЕНИС КЛЕПIКОВ «Long Term storage for Prometheus» Lviv DevOps Conference 2019
ДЕНИС КЛЕПIКОВ «Long Term storage for Prometheus» Lviv DevOps Conference 2019
 
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red HatHyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
Hyperconverged Cloud, Not just a toy anymore - Andrew Hatfield, Red Hat
 
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
 
4 use cases for C* to Scylla
4 use cases for C*  to Scylla4 use cases for C*  to Scylla
4 use cases for C* to Scylla
 
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
 
CPU Optimizations in the CERN Cloud - February 2016
CPU Optimizations in the CERN Cloud - February 2016CPU Optimizations in the CERN Cloud - February 2016
CPU Optimizations in the CERN Cloud - February 2016
 
Programming Trends in High Performance Computing
Programming Trends in High Performance ComputingProgramming Trends in High Performance Computing
Programming Trends in High Performance Computing
 
OpenNebula out in the Open, Ander Astudillo, SURFsara
OpenNebula out in the Open, Ander Astudillo, SURFsaraOpenNebula out in the Open, Ander Astudillo, SURFsara
OpenNebula out in the Open, Ander Astudillo, SURFsara
 
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
 
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
OpenNebulaConf2015 2.14 Cloud Service Experience in TeideHPC Infrastructure -...
 
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
 
Propelling IoT Innovation with Predictive Analytics
Propelling IoT Innovation with Predictive AnalyticsPropelling IoT Innovation with Predictive Analytics
Propelling IoT Innovation with Predictive Analytics
 

Similar to XNAT Tuning & Monitoring

OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
NETWAYS
 

Similar to XNAT Tuning & Monitoring (20)

CPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performance
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
 
NAVGEM on the Cloud: Computational Evaluation of Cloud HPC with a Global Atmo...
NAVGEM on the Cloud: Computational Evaluation of Cloud HPC with a Global Atmo...NAVGEM on the Cloud: Computational Evaluation of Cloud HPC with a Global Atmo...
NAVGEM on the Cloud: Computational Evaluation of Cloud HPC with a Global Atmo...
 
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 
Toward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStackToward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStack
 
Leveraging chaos mesh in Astra Serverless testing
Leveraging chaos mesh in Astra Serverless testingLeveraging chaos mesh in Astra Serverless testing
Leveraging chaos mesh in Astra Serverless testing
 
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
 
Building big data pipelines with Kafka and Kubernetes
Building big data pipelines with Kafka and KubernetesBuilding big data pipelines with Kafka and Kubernetes
Building big data pipelines with Kafka and Kubernetes
 
VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers
 
PFQ@ PAM12
PFQ@ PAM12PFQ@ PAM12
PFQ@ PAM12
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High Availability
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
 
Tackling Network Bottlenecks with Hardware Accelerations: Cloud vs. On-Premise
Tackling Network Bottlenecks with Hardware Accelerations: Cloud vs. On-PremiseTackling Network Bottlenecks with Hardware Accelerations: Cloud vs. On-Premise
Tackling Network Bottlenecks with Hardware Accelerations: Cloud vs. On-Premise
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
 
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
 
Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...Lessons learned from shifting real data around: An ad hoc data challenge from...
Lessons learned from shifting real data around: An ad hoc data challenge from...
 
S016827 pendulum-swings-nola-v1710d
S016827 pendulum-swings-nola-v1710dS016827 pendulum-swings-nola-v1710d
S016827 pendulum-swings-nola-v1710d
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
 
IBM Power9 Features and Specifications
IBM Power9 Features and SpecificationsIBM Power9 Features and Specifications
IBM Power9 Features and Specifications
 

More from John Paulett (8)

GeoDjango & HTML5 Geolocation
GeoDjango & HTML5 GeolocationGeoDjango & HTML5 Geolocation
GeoDjango & HTML5 Geolocation
 
XNAT Case Study: DIAN QC Uploader
XNAT Case Study: DIAN QC UploaderXNAT Case Study: DIAN QC Uploader
XNAT Case Study: DIAN QC Uploader
 
XNAT Open Source Development
XNAT Open Source DevelopmentXNAT Open Source Development
XNAT Open Source Development
 
Mercurial: Modern Source Control Management
Mercurial: Modern Source Control ManagementMercurial: Modern Source Control Management
Mercurial: Modern Source Control Management
 
PostgreSQL Scaling And Failover
PostgreSQL Scaling And FailoverPostgreSQL Scaling And Failover
PostgreSQL Scaling And Failover
 
Drools
DroolsDrools
Drools
 
Automated Testing
Automated TestingAutomated Testing
Automated Testing
 
Getting Started with (Distributed) Version Control
Getting Started with (Distributed) Version ControlGetting Started with (Distributed) Version Control
Getting Started with (Distributed) Version Control
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

XNAT Tuning & Monitoring

  • 1. XNAT Tuning & Monitoring John Paulett jpaulett@wustl.edu June 29, 2010
  • 2. Overview Share NRG’s experiences running a large XNAT installation, including methods for tuning, testing, and monitoring the application.
  • 3. Plan 1. Sample XNAT Architecture 2. Hardware “Recommendations” 3. Monitoring XNAT 4. Performance Testing Tools 5. Tuning XNAT
  • 5. XNAT Scales From a single study with dozens of scans To hundreds of studies, including large, multi- site studies
  • 6. Central Neuroimaging Data Archive (CNDA) Flagship XNAT installation at Washington University (WUSTL) As of June 2010: – 500 studies – 8000 subjects – 11k imaging sessions – 9 TB of data
  • 8. CNDA Architecture • 1x Kemp load balancer – SSL acceleration • 1x Quad-core Xeon, 16GB RAM: PostgreSQL 8.3 • 2x Dual-core Xeon, 4GB RAM (one in standby): Tomcat 5.5 & DicomServer • BlueArc NAS • Multiple Sun Grid Engine nodes
  • 10. Future Architecture Reduce single points of failure – Standby Kemp load balancer – PostgreSQL Warm Standby – Actively load balance Tomcat – Archival storage SAN Use new super computer at WUSTL Improve ability to upgrade without downtime
  • 13. Grow into your Architecture Get single good server – Multicore with 4-16GB RAM (better than central.xnat.org) – Consider your archive’s future size & location When you outgrow: – Buy a more powerful machine for PostgreSQL – Leave Tomcat on first server
  • 15.
  • 16. Pingdom • World-wide tests for site availability & response time • SMS & Email alerts when sites are unavailable
  • 17. Munin PostgreSQL, Tomcat, & Linux metrics over time – Memory, CPU, queries, requests, etc.
  • 18.
  • 19.
  • 20. Monit Active process monitoring & management Define criteria for emailing alerts & restarting processes – CPU, memory thresholds – Connection failures (check web services)
  • 22. JMeter Generate load & analyze throughput Complex HTTP transactions
  • 23. JMeter https://svn.apache.org/repos/asf/jakarta/jmeter/
  • 24. YourKit Profiling Lower level debugging tool Memory & CPU profiling Hunt down memory leaks & code hot spots Can instrument in production server
  • 27. On Tuning Tuning results dependent on many variables, what worked in one case may not work universally XNAT is a complex system! Some parts are CPU bound, others are memory bound, and others are bandwidth bound General rule: faster CPUs + more RAM + bigger network pipe = faster XNAT
  • 28. On Tuning 1. Find something that is “slow” 2. Quantify slowness 3. Tune 4. Quantify improvement 5. Go to #1
  • 29. PostgreSQL Tuning PostgreSQL 8.3 has serious performance improvements Put PostgreSQL and Tomcat on separate machines – Get powerful database machine – PostgreSQL can take advantage of multiple cores & lots of RAM
  • 30. postgresql.conf Default settings designed for legacy machines Increase available memory. Allows query planner to do more work in RAM and less on disk Increase max connections Tweak kernel settings to allow access to more memory
  • 31. Tomcat Tuning Increase available memory & use “server VM” catalina.sh: JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256m" "- XX:PermSize=256m" "-mx1512m" "-server"
  • 32. Tomcat Tuning Increase connections & threads in server.xml – At this point, consider load balancing between multiple Tomcat servers
  • 33. XNAT Tuning Upgrade to XNAT 1.4! Increase MaxConnections to database in WEB-INF/conf/InstanceSettings.xml – Set in line with PostgreSQL’s max_connections
  • 34. Tools Mentioned Google Analytics: Free Pingdom: Monthly subscription. One site free Munin: Open Source Monit: Open Source JMeter: Open Source YourKit: Commercial. Time-limited trial & free for open source
  • 35. Questions & Your Experiences? http://www.xnat.org/XNAT+2010+Workshop+- +Tuning,+Optimization,+Monitoring