SlideShare ist ein Scribd-Unternehmen logo
1 von 22
# 
3 Ways to Improve Performance 
from a Storage Perspective 
Vibhor Gupta - NetApp 
Tim Brazil - Perforce
# 
Vibhor Gupta 
Applications Eng. 
NetApp Inc. 
Tim Brazil 
Performance Lab Eng. 
Perforce Software 
Tim Brazil entered the software industry as a Sys 
Admin and soon moved into Quality Assurance 
roles at leading database companies. He joined 
Perforce in March 2007, where his focus is 
performance-related issues as they apply to 
client/server environments. 
Vibhor Gupta is a Technical Marketing 
Engineer at in Tech-Apps at NetApp. He 
partnered with Perforce, working on the 
characterization of the Perforce Application on 
NetApp Storage. He also is involved in the 
characterization of the EDA workload, where 
Perforce is heavily used for SCM
# 
Agenda 
• Introduction 
• Benchmarks 
• Test Results and Analysis 
• Key Takeaways
# 
Introduction 
• Perforce Server Deployment: Considerations 
− Performance 
− Cost 
− Backup and Recovery
# 
Performance Lab Benchmarks
# 
Performance Lab Benchmarks 
• Branchsubmit 
• Branchsubmit-edit 
• Browse 
• Sync 
• Deltas
Cold vs. Warm FilesystemCache 
# 
• Cold cache 
• Warm cache
Reference01 Dataset 
# 
Scenario Test Environment #1 Test Environment #2 
Description Sizes 
reference01 total size ~35 GB 
p4 files //depot/... | wc -l 25200000 
p4 files -a //depot/... | wc -l 72625000 revisions 
p4 files //depot/main/0... | wc -l 70000 files 
p4 files //depot/main/00/00/most/sites/have/longer/paths/jam/src/* | wc -l 70 files 
p4 dirs //depot/r* | wc -l 35 release directories
Branchsubmit 
# 
Compute Phase 
Elapsed Time 
Exiting Time 
Commit Rate 
integrate -v 
create change 
submit
Branchsubmit-edit 
# 
integrate 
edit 
submit 
Compute Phase 
Elapsed Time 
Exiting Time 
Commit Rate 
create change
Browse Benchmark 
# 
P4D Server 
32 Browse Children 
1024 Browses 
32 Browse Children 
1024 Browses 
65536 Total Browses 
Total Completion Time
Sync Benchmark 
# 
P4D Server 
32 Sync Children 
32 Syncs 
32 Sync Children 
32 Syncs 
2048 Total Syncs 
Total Completion Time 
GB Sync’ed
Deltas Benchmark 
# 
Clear 
Cache 
Start 
Server 
Run 
Cmd 
Run 
Cmd 7x 
Run 
Cmd 
Stop 
Server 
Result #1 Result #2 
Completion Time Per Command
# 
Result Analysis
# 
Write Performance (Cold Cache) 
12000 
10000 
8000 
6000 
4000 
2000 
0 
Branchsubmit 
Files/Second 
Branchsubmit 
NFSv3 
iSCSI 
9000 
8000 
7000 
6000 
5000 
4000 
3000 
2000 
1000 
0 
Branchsubmit-Edit 
Files/Second 
Branchsubmit-Edit 
NFSv3 
iSCSI
# 
Write Performance (Warm Cache) 
25000 
20000 
15000 
10000 
5000 
0 
branchsubmit 
Files/Second 
Branchsubmit 
FCP 
iSCSI 
NFS 
25000 
20000 
15000 
10000 
5000 
NFS/iSCSI split 
(db only on 
iSCSI) 0 
branchsubmit-edit 
Files/Second 
Branchsubmit-Edit 
FCP 
iSCSI 
NFS 
NFS/iSCSI split (db 
only on iSCSI) 
NFS/iSCSi split (db 
& journal on iSCSI)
# 
Read Performance 
160 
140 
120 
100 
80 
60 
40 
20 
0 
sync 
Seconds 
Sync 
FCP 
iSCSI 
NFS 
NFS/iSCSI split 
(db only on 
iSCSI) 
300 
250 
200 
150 
100 
50 
0 
browse(1) 
Seconds 
Browse 
FCP 
iSCSI 
NFS 
NFS/iSCSI (logs 
only on iSCSI)
# 
Deltas 
8 
7 
6 
5 
4 
3 
2 
1 
0 
Seconds 
Deltas 
NFS 
iSCSI 
FCP
# 
Best Practices 
• For best write performance, Perforce metadata and journals should be 
placed on faster storage like FC or iSCSI. 
• For NFS, recommended mount options local_lock=all and nocto 
• For heavy server logging, use FCP or iSCSI.
# 
Key Takeaways 
FC iSCSI iSCSI and NFS 
(Split 
Configuration) 
NFS 
Performance Excellent Excellent Good Fair 
Cost Fair Excellent Excellent Excellent 
Ease of backup and 
recovery 
Fair Fair Good Excellent 
Protocol 
Criterion
# 
RESOURCES 
Technical Report: http://www.netapp.com/us/media/tr-4164.pdf 
Public Benchmarks: ftp://ftp.perforce.com/perforce/tools/benchmarks/
# 
Questions ?

Weitere ähnliche Inhalte

Was ist angesagt?

Globo.com & Varnish
Globo.com & VarnishGlobo.com & Varnish
Globo.com & Varnish
lokama
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
Albert Chen
 

Was ist angesagt? (20)

hbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecturehbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecture
 
Leveraging Structured Data To Reduce Disk, IO & Network Bandwidth
Leveraging Structured Data To Reduce Disk, IO & Network BandwidthLeveraging Structured Data To Reduce Disk, IO & Network Bandwidth
Leveraging Structured Data To Reduce Disk, IO & Network Bandwidth
 
hbaseconasia2017: hbase-2.0.0
hbaseconasia2017: hbase-2.0.0hbaseconasia2017: hbase-2.0.0
hbaseconasia2017: hbase-2.0.0
 
Counting image views using redis cluster
Counting image views using redis clusterCounting image views using redis cluster
Counting image views using redis cluster
 
Ceph Day San Jose - HA NAS with CephFS
Ceph Day San Jose - HA NAS with CephFSCeph Day San Jose - HA NAS with CephFS
Ceph Day San Jose - HA NAS with CephFS
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
Globo.com & Varnish
Globo.com & VarnishGlobo.com & Varnish
Globo.com & Varnish
 
Oscon 2010 - ATS
Oscon 2010 - ATSOscon 2010 - ATS
Oscon 2010 - ATS
 
Redis on NVMe SSD - Zvika Guz, Samsung
 Redis on NVMe SSD - Zvika Guz, Samsung Redis on NVMe SSD - Zvika Guz, Samsung
Redis on NVMe SSD - Zvika Guz, Samsung
 
Rit 2011 ats
Rit 2011 atsRit 2011 ats
Rit 2011 ats
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ Twitter
 
Ceph Performance Profiling and Reporting
Ceph Performance Profiling and ReportingCeph Performance Profiling and Reporting
Ceph Performance Profiling and Reporting
 
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieRGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Day 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConfDay 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConf
 
LAB - Perforce Large Scale & Multi-Site Implementations
LAB - Perforce Large Scale & Multi-Site ImplementationsLAB - Perforce Large Scale & Multi-Site Implementations
LAB - Perforce Large Scale & Multi-Site Implementations
 
Tips for Administering Complex Distributed Perforce Environments
Tips for Administering Complex Distributed Perforce EnvironmentsTips for Administering Complex Distributed Perforce Environments
Tips for Administering Complex Distributed Perforce Environments
 
HBaseCon 2012 | Base Metrics: What They Mean to You - Cloudera
HBaseCon 2012 | Base Metrics: What They Mean to You - ClouderaHBaseCon 2012 | Base Metrics: What They Mean to You - Cloudera
HBaseCon 2012 | Base Metrics: What They Mean to You - Cloudera
 
Supporting Android-based Platform Development in Samsung
Supporting Android-based Platform Development in SamsungSupporting Android-based Platform Development in Samsung
Supporting Android-based Platform Development in Samsung
 

Ähnlich wie 3 Ways to Improve Performance from a Storage Perspective

Ähnlich wie 3 Ways to Improve Performance from a Storage Perspective (20)

Year in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product UpdatesYear in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product Updates
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM Connections
 
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 20161049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
 
LAB - Component Based Development
LAB - Component Based DevelopmentLAB - Component Based Development
LAB - Component Based Development
 
Ceph Day Beijing - SPDK in Ceph
Ceph Day Beijing - SPDK in CephCeph Day Beijing - SPDK in Ceph
Ceph Day Beijing - SPDK in Ceph
 
Ceph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for CephCeph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for Ceph
 
Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)
 
Capacity Planning
Capacity PlanningCapacity Planning
Capacity Planning
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
Ceph Day Berlin: Ceph on All Flash Storage - Breaking Performance Barriers
Ceph Day Berlin: Ceph on All Flash Storage - Breaking Performance BarriersCeph Day Berlin: Ceph on All Flash Storage - Breaking Performance Barriers
Ceph Day Berlin: Ceph on All Flash Storage - Breaking Performance Barriers
 
Headaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous ApplicationsHeadaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous Applications
 
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kuberneteshbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
 
Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)
 
CollabSphere 2019 - Dirty Secrets of the Notes Client
CollabSphere 2019 - Dirty Secrets of the Notes ClientCollabSphere 2019 - Dirty Secrets of the Notes Client
CollabSphere 2019 - Dirty Secrets of the Notes Client
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
 
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Transferring Changes Between Perforce Servers
Transferring Changes Between Perforce ServersTransferring Changes Between Perforce Servers
Transferring Changes Between Perforce Servers
 
Ceph
CephCeph
Ceph
 

Mehr von Perforce

Mehr von Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

3 Ways to Improve Performance from a Storage Perspective

  • 1. # 3 Ways to Improve Performance from a Storage Perspective Vibhor Gupta - NetApp Tim Brazil - Perforce
  • 2. # Vibhor Gupta Applications Eng. NetApp Inc. Tim Brazil Performance Lab Eng. Perforce Software Tim Brazil entered the software industry as a Sys Admin and soon moved into Quality Assurance roles at leading database companies. He joined Perforce in March 2007, where his focus is performance-related issues as they apply to client/server environments. Vibhor Gupta is a Technical Marketing Engineer at in Tech-Apps at NetApp. He partnered with Perforce, working on the characterization of the Perforce Application on NetApp Storage. He also is involved in the characterization of the EDA workload, where Perforce is heavily used for SCM
  • 3. # Agenda • Introduction • Benchmarks • Test Results and Analysis • Key Takeaways
  • 4. # Introduction • Perforce Server Deployment: Considerations − Performance − Cost − Backup and Recovery
  • 5. # Performance Lab Benchmarks
  • 6. # Performance Lab Benchmarks • Branchsubmit • Branchsubmit-edit • Browse • Sync • Deltas
  • 7. Cold vs. Warm FilesystemCache # • Cold cache • Warm cache
  • 8. Reference01 Dataset # Scenario Test Environment #1 Test Environment #2 Description Sizes reference01 total size ~35 GB p4 files //depot/... | wc -l 25200000 p4 files -a //depot/... | wc -l 72625000 revisions p4 files //depot/main/0... | wc -l 70000 files p4 files //depot/main/00/00/most/sites/have/longer/paths/jam/src/* | wc -l 70 files p4 dirs //depot/r* | wc -l 35 release directories
  • 9. Branchsubmit # Compute Phase Elapsed Time Exiting Time Commit Rate integrate -v create change submit
  • 10. Branchsubmit-edit # integrate edit submit Compute Phase Elapsed Time Exiting Time Commit Rate create change
  • 11. Browse Benchmark # P4D Server 32 Browse Children 1024 Browses 32 Browse Children 1024 Browses 65536 Total Browses Total Completion Time
  • 12. Sync Benchmark # P4D Server 32 Sync Children 32 Syncs 32 Sync Children 32 Syncs 2048 Total Syncs Total Completion Time GB Sync’ed
  • 13. Deltas Benchmark # Clear Cache Start Server Run Cmd Run Cmd 7x Run Cmd Stop Server Result #1 Result #2 Completion Time Per Command
  • 15. # Write Performance (Cold Cache) 12000 10000 8000 6000 4000 2000 0 Branchsubmit Files/Second Branchsubmit NFSv3 iSCSI 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 Branchsubmit-Edit Files/Second Branchsubmit-Edit NFSv3 iSCSI
  • 16. # Write Performance (Warm Cache) 25000 20000 15000 10000 5000 0 branchsubmit Files/Second Branchsubmit FCP iSCSI NFS 25000 20000 15000 10000 5000 NFS/iSCSI split (db only on iSCSI) 0 branchsubmit-edit Files/Second Branchsubmit-Edit FCP iSCSI NFS NFS/iSCSI split (db only on iSCSI) NFS/iSCSi split (db & journal on iSCSI)
  • 17. # Read Performance 160 140 120 100 80 60 40 20 0 sync Seconds Sync FCP iSCSI NFS NFS/iSCSI split (db only on iSCSI) 300 250 200 150 100 50 0 browse(1) Seconds Browse FCP iSCSI NFS NFS/iSCSI (logs only on iSCSI)
  • 18. # Deltas 8 7 6 5 4 3 2 1 0 Seconds Deltas NFS iSCSI FCP
  • 19. # Best Practices • For best write performance, Perforce metadata and journals should be placed on faster storage like FC or iSCSI. • For NFS, recommended mount options local_lock=all and nocto • For heavy server logging, use FCP or iSCSI.
  • 20. # Key Takeaways FC iSCSI iSCSI and NFS (Split Configuration) NFS Performance Excellent Excellent Good Fair Cost Fair Excellent Excellent Excellent Ease of backup and recovery Fair Fair Good Excellent Protocol Criterion
  • 21. # RESOURCES Technical Report: http://www.netapp.com/us/media/tr-4164.pdf Public Benchmarks: ftp://ftp.perforce.com/perforce/tools/benchmarks/

Hinweis der Redaktion

  1. This illustrates the results from the browse benchmark. As you can see, FCP, iSCSI and split configuration the results were basically the same, however, for NFS, results were poor.
  2. For the Deltas test, which is a read benchmark, FCP, iSCSI, and NFS are comparable in performance.
  3. Summary of Best Practices include: [first animation] For best write performance, Perforce metadata and journals should be placed on FC or iSCSI. [second animation] If using NFS, recommended mount options include local_lock=all and nocto. (Mention it works only with dedicated NFS server). [third animation] If the log level of Perforce application is set to a high value (3 or greater or debug) or the server activity introduces high logging, place logs on FC or iSCSI to alleviate performance issue.