SlideShare a Scribd company logo
Perforce Administration:
Optimization, Scalability,
Availability, and Reliability
Michael Mirman
Perforce Administrator
MathWorks, Inc.

2011
INTRODUCTION
ARCHITECTURE OVERVIEW


   •  Approximately 500 users
   •  Several million archive files
   •  Using almost all possible triggers, several daemons
   •  Mirroring our own bug database into Perforce
   •  Interfaces: P4, P4V, P4Perl, P4Java, Emacs,
   P4Eclipse, P4DB, P4EXP
   •  P4 Broker, P4 Proxies
   •  Multiple replicas
P4 PROXIES AND P4 BROKER

Recommended for you

Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat Gulec

What is Replication? Why do we need Replication? How many replication layers do we have? Understanding milestones of built-in Database Physical Replication. What is the purpose of replication? and How to rescue system in case of failover? What is Streaming Replication and what is its advantages? Async vs Sync, Hot standby etc. How to configurate Master and Standby Servers? And What is the most important parameters? Example of topoloji. What is Cascading Replication and how to configurate it? Live Demo on Terminal. What is Logical Replication coming with PostgreSQL 10? And What is its advantages? Logical Replication vs Physical Replication Limitations of Logical Replication Quorum Commit for Sync Replication etc. What is coming up with PostgreSQL 11 about replication? 10 Questions quiz and giving some gifts to participants according to their success.

physicallogicalreplication
Replication
ReplicationReplication
Replication

Perforce server replication allows a replica server to asynchronously mirror the data and transactions from a master server. It provides high availability, disaster recovery, and enables offloading of read-only workloads. The replication is performed using Perforce's journaling system, with the replica pulling missing journal entries and file revisions from the master server in the background. This allows setting up read-only replica servers with no external scripts required.

replicationperforce"user conference 2011"
CephFS Update
CephFS UpdateCephFS Update
CephFS Update

The document summarizes updates to CephFS in the Pacific release, including improvements to usability, performance, ecosystem integration, multi-site capabilities, and quality. Key updates include MultiFS now being stable, MDS autoscaling, cephfs-top for performance monitoring, scheduled snapshots, NFS gateway support, feature bits for compatibility checking, and improved testing coverage. Performance improvements include ephemeral pinning, capability management optimizations, and asynchronous operations. Multi-site replication between clusters is now possible with snapshot-based mirroring.

ceph-month-2021
AVAILABILITY


    •  Proxies use anycast technology
         •  Special routing technology allows all users to have
         the default port (perforce:1666) regardless of their
         physical location
         •  Redirects users to the physically nearest proxy
         server
         •  Provides automatic fail-over if one proxy goes down

    •  P4broker is a High Availability VM and can be restarted
    anytime with minimal downtime

    •  Replicas allow read-only access if master is offline
REPLICATION
REPLICATION (2009.2 SOLUTION)


    P4 replicate command replicates only meta-data.
    •  Replicate archive synchronously
        p4 -p MASTER replicate -s STATEFILE -J JNLPREFIX 
        SOMEDIR/p4admin_replicate -port 1666 -srchost 
        MASTERHOST -srctop DATADIR
    •  Read journal records, pass them to p4d to replay them,
    and when necessary start copying archive:
        rsync -av --delete “$srchost:$srctop/$dir/” “$dir/”
    •  Script available in the public depot:
        //guest/michael_mirman/conference2011/p4admin_replicate
REPLICATION (2010.2 SOLUTION)


    P4 pull command is available in 2010.2.
    •  Can replicate metadata and/or archive
    •  Configurables are a good way to set pull commands
       -> p4 configure show Replica
       Replica: startup.1 = pull -i 2 -J /perforce/1666/journal
       Replica: startup.2 = pull -i 1 -u
       Replica: startup.3 = pull -i 1 -u       wait for 2011.1
       Replica: startup.4 = pull -i 1 -u       wait for 2011.1

Recommended for you

High availability for puppet - 2016
High availability for puppet - 2016High availability for puppet - 2016
High availability for puppet - 2016

This session will be an overview of highly available components that can be deployed with Puppet Enterprise. It will focus on some of the current Beta support in PuppetDB as well as tips and tricks from the professional services department. The session will cover field solutions ( both supported and unsupported ) that allow architectures to be designed that align with different levels of high availability across the services that support running puppet on agent nodes during an outage of your primary puppet infrastructure.

puppet
Chef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg ScaleChef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg Scale

From ChefConf 2015. https://youtu.be/qLacXoIEQfA Chef is an easy choice for managing a large infrastructure -- at Bloomberg we find it compelling to automate all our things. However, as your infrastructure grows into an interconnected automated organism, software patterns emerge. For Bloomberg's Hadoop clusters, our current set of open-source patterns emerged after only 10's of hosts, running 10's of recipes each. These patterns have been instrumental in building our even larger systems. This talk will walk through our large scale cluster management patterns: * Synchronous multi-machine service rolling-restart integrating Chef and Zookeeper for service restart * Multi-process monitoring service restart (more than subscribes) process table inspection for accidental or human intervention * Deploy_* providers for Hadoop -- the Hadoop Distributed File System presents unique challenges to Chef for deploying applications and artifacts. We provide primitives such as HDFS file, directory and template amongst Kafka topic creation, HBase table creation and even Kerberos support * Wrapper cookbook patterns: - Proxy pattern for pluggable actions (e.g. service restart wrapping) without picking through the run_context - Pitfalls for pluggable templates * Virtualized per-cluster Chef servers, built via Jenkins to be generic using Vagrant with the ability to (re)provision using chef-solo and Chef REST API and provide PXE to production operations

 
by Chef
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka

Apache Kafka is a distributed publish-subscribe messaging system that was originally created by LinkedIn and contributed to the Apache Software Foundation. It is written in Scala and provides a multi-language API to publish and consume streams of records. Kafka is useful for both log aggregation and real-time messaging due to its high performance, scalability, and ability to serve as both a distributed messaging system and log storage system with a single unified architecture. To use Kafka, one runs Zookeeper for coordination, Kafka brokers to form a cluster, and then publishes and consumes messages with a producer API and consumer API.

kafkaapache
P4 PULL VS P4ADMIN_REPLICATE


   •  p4 pull is more efficient than p4admin_replicate
        •  times when metadata are matching the archive are
        determined differently
        •  recursive rsync takes a long time for top directories
   •  p4admin_replicate has extra features
        •  p4 replicate can filter records
        •  p4admin_replicate can have multiple destinations
        •  p4admin_replicate can be used to update archive
        without updating metadata
        •  detailed logging – easier introspection

   Use p4 replicate if you need to filter journal records
LOAD BALANCE
P4 BROKER


   •  Continuous builds and other read-only applications may
   be happy with a replica
   •  Continuous builds may be happy with a metadata
   replica to determine the time to start building
        •  TeamCity submits several queries for each build
        •  Some of our builds use “p4 fixes -i” and “p4
        changes”
   •  Our usage of p4broker:
        •  Redirect queries from Build systems
        •  Support P4DB (web read-only interface)
        •  Provide a nice message if the master is under
        maintenance and only read-only access is provided
STALE REPLICAS


   What if my replica goes stale?
   •  Monitor the age of your replica.
       Cron example:
    * * * * * for n in 1 2 3 4 5 6; do export DT=`date`; echo
   "$n. $DT"; p4 -p perforce:1666 counter keepinsync "$DT";
   sleep 10; done
       Look at the replica age:
   -> p4 -p perforce:1666 counter keepinsync!
   Mon Mar 28 16:06:12 EDT 2011!
   -> p4 -p replica1:1666 counter keepinsync!
   Mon Mar 28 16:06:02 EDT 2011
   •  If the replica age goes over a threshold, regenerate the
   broker config file and alarm the administrator

Recommended for you

Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets  Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets

Pixar has scaled their use of Perforce over time to support increasing numbers of users, files, and data types associated with their animated films. They now have over 90 Perforce servers storing over 20 TB of data. To manage this scale, they utilize techniques like virtualization for flexible server provisioning, de-duplication to reduce storage usage, and scripts like Superp4 to automate management of metadata tables across multiple servers. While scaling has provided benefits, it has also introduced challenges around monitoring, performance, and administration across many interconnected systems.

perforcepixarperfroce
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster EnvironmentPuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster Environment

This document discusses a solution for providing Puppet services globally across multiple regions with poor WAN connectivity. The solution involves building a "Puppeteer" master that acts as a central point of entry for code updates and certificate management. It ensures Puppet masters in each region are in sync. LDAP is used as an external node classifier to provide node definitions across regions. The Puppet file server replicates configuration between masters. F5 load balancers route clients to the nearest master and provide high availability if any master fails. Workflows for adding new servers and masters are also summarized.

puppet puppetlabs camp master
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish

This document provides an overview of Varnish, an open source caching reverse proxy that can accelerate web applications. It discusses what Varnish is, how it works, basic and advanced configuration options like backends, VCL, caching strategies, and Edge Side Includes. Installation and usage is demonstrated on common operating systems. The presentation aims to help attendees understand when and how to use Varnish to improve application performance.

cachingvarnish
SERVER UNDER MAINTENANCE


   Additional benefits of p4broker

   •  If the master server is unavailable, the broker config is
   regenerated to provide the appropriate message for non-
   read-only commands

   •  If no servers are available, the broker config is
   regenerated to provide a different message (“No servers
   are available”) instead of not user-friendly “Connection
   refused”
OUR EXPERIENCE WITH LOAD BALANCE


   What we find useful:

   •  Monitor the load and collect data even if we don’t need
   these data right now

   •  Use replicas to distribute the load

   •  Maintain the broker config file according to server
   availability and replica age

   •  Broker provides transparency and increases the
   availability of the server
OFFLINE CHECKPOINTING
CHECKPOINTING


   Checkpointing causes users to wait

   •  It’s always too long

   •  Different ways of creating checkpoints offline
        •  our old way (using NetApp snapshots):
       //guest/michael_mirman/snap_checkpoint/snap_checkpoint
       •  our new way: using metadata replica

Recommended for you

Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...

This is a presentation given by Jeremy Alons, Spot Trading, at the DevOps Summit Chicago in August 2014. Jeremy shares how Spot Trading does automated deployments for mission-critical financial services with a case study in continuous delivery.

spot tradingdevops summitsaltstack
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at FacebookSREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook

The document describes the evolution of Facebook's DHCP infrastructure. It discusses how Facebook moved from a traditional DHCP architecture with dedicated hardware load balancers to a stateless architecture using the open source DHCP server KEA. With KEA, Facebook is able to distribute DHCP configuration dynamically from an inventory system and extend KEA's functionality through a hook API to integrate DHCP with other internal systems. This improved architecture provides better reliability, scalability, and instrumentation.

keaiscdata centers
HBase replication
HBase replicationHBase replication
HBase replication

Overview of HBase cluster replication feature, covering implementation details as well as monitoring tools and tips for troubleshooting and support of Replication deployments.

hbase replication
USING METADATA REPLICA


   Metadata replica practically does not lag behind the
   master.
   •  Settings:
   -> p4 configure show Replica2
   Replica2: monitor = 1
   Replica2: server = 1
   Replica2: startup.1 = pull -i 4 -J /export/journal/perforce/1666/journal
   •  Command:
     p4d –r ROOTDIR –z –jc CKPDIR/perforce.1666
   •  Nightly db validation
     p4d –r ROOTDIR –xv
     p4d –r ROOTDIR –xx
MINIMIZE DOWNTIME
DISASTER RECOVERY PLAN


 •  Checkpoints and journals are copied to the backup filer
 immediately after their creation

 •  Archive is maintained continuously by p4admin_replicate

 •  Two test servers are used to verify the restore process

 •  DB is restored from the latest checkpoint + all following
 journals

 •  The earliest journal is determined by the time stamp from
 the first @ex@ record from the checkpoint
DISASTER RECOVERY PLAN (continued)


   •  Test restore process includes
      p4d –xv
      p4d –xx
      p4 verify –qz //…

   •  Repository is split up and verified in N processes in
   parallel (example in the public depot: //guest/
   michael_mirman/conference2011/pverify)

Recommended for you

[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...

The document discusses network architectures in OpenStack. It provides diagrams to illustrate the networking components including compute nodes, virtual machines, linux bridges, agents, and routers. MPLS is introduced as a solution to address issues with tenant network separation and performance challenges with other approaches like VxLAN. MPLS uses label switching to encapsulate and forward packets instead of relying on IP routing and overlays, improving east-west traffic performance between tenants.

openstacknetworktunnel
Kea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISCKea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISC

This webinar will highlight the differences between the old ISC DHCP and new Kea DHCP (database support, dynamic reconfiguration, performance wins, scripting hooks) and will showcase the Men & Mice Suite as a graphical front-end to both ISC DHCP and Kea to ease the migration.

kea dhcpdhcp
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

Using the Edge server solution you can streamline how replication is set up and designed within your Perforce environment. Key configurables, options and topologies for replication in Perforce will be shown, allowing you to live on the edge and get the best performance and use out of our improved replication solutions.

merge 2014perforce softwareperforce
FAIL-OVER PLAN


   •  No automatic fail-over (conscious decision: assess the
   situation)

   •  Use it after rebuilding database on a replica

   •  Fail-over is accomplished by changing the broker
   config file
        •  block write access
        •  wait for the replication to get the standby to be in
        sync with the master
        •  allow write access to the new master
MAJOR UPGRADE


   •  Place all binaries in the right locations and update
   licenses if necessary
   •  Reconfigure p4broker to block write access and
   redirect all read-only requests to a replica
   •  Wait until the replica is in sync with the master
   •  Stop the master and all replication processes
   •  Upgrade the master (p4d -xu) and restart it
   •  Reconfigure p4broker not to use any replica
   •  Upgrade and restart every replica
   •  Restart replication processes
   •  Reconfigure p4broker to use replicas as usual
   •  Restarting p4broker and proxies cause short service
   interruptions, but we don’t always have to do this
SUMMARY
WHAT WORKED WELL FOR US


   To increase availability:
       •  Anycast with multiple proxies – no need to
       reconfigure clients when infrastructure changes
       •  High-Availability VM for p4broker
       •  Maintaining a warm standby replica.
   To improve load balancing:
       •  Moving some maintenance procedures to
       replica servers (our VMs are adequate);
       •  Creating checkpoints on a replica server and
       testing them regularly;
       •  Using p4broker to redirect some load to a
       replica server.

Recommended for you

Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...

This document discusses online migration from an existing MySQL master-slave setup to a Galera cluster. It outlines the steps to enable binary logging on the slave, dump the schema and data, load this into the first Galera node to initialize replication, and transition reads to the Galera cluster while writes continue on the master initially at 90% before being cut over fully to the cluster. Operational checklists, backup procedures, and disaster recovery options for the new Galera cluster configuration are also reviewed.

mysqldbagalera
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived

Happy to share the presentation that I gave to my staff. This presentation covers configuration of Keepalived and HAProxy.

haproxykeepalivedganapathi kandaswamy
[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks

The document discusses setting up a Perforce forwarding replica, which is a readable cache of versioned files and metadata that forwards write commands to a central server. It describes creating a replica server configuration, replicating metadata and files from the master server to the replica, configuring the replica to forward writes to the master, and monitoring the replication process.

merge 2013indiamerge world tour india
WHAT ELSE WORKED WELL


   Having test servers with identical or very similar
   architecture.

   Replicating data synchronously on replicas and
   continuously on archive.

   “Set it and forget it” - Administration is easy when
   you have automated most functions.
THANK YOU!




   ANY QUESTIONS?

More Related Content

What's hot

Tomcatx performance-tuning
Tomcatx performance-tuningTomcatx performance-tuning
Tomcatx performance-tuning
Vladimir Khokhryakov
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
Nuxeo
 
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
confluent
 
Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat Gulec
FIRAT GULEC
 
Replication
ReplicationReplication
Replication
Perforce
 
CephFS Update
CephFS UpdateCephFS Update
CephFS Update
Ceph Community
 
High availability for puppet - 2016
High availability for puppet - 2016High availability for puppet - 2016
High availability for puppet - 2016
Zack Smith
 
Chef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg ScaleChef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg Scale
Chef
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
Joe Stein
 
Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets  Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets
Perforce
 
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster EnvironmentPuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster Environment
Greg Cockburn
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
Jeremy Cook
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
SaltStack
 
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at FacebookSREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook
Angelo Failla
 
HBase replication
HBase replicationHBase replication
HBase replication
wchevreuil
 
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
OpenStack Korea Community
 
Kea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISCKea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISC
Men and Mice
 
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
Perforce
 
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Severalnines
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
Ganapathi Kandaswamy
 

What's hot (20)

Tomcatx performance-tuning
Tomcatx performance-tuningTomcatx performance-tuning
Tomcatx performance-tuning
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
 
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
 
Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat Gulec
 
Replication
ReplicationReplication
Replication
 
CephFS Update
CephFS UpdateCephFS Update
CephFS Update
 
High availability for puppet - 2016
High availability for puppet - 2016High availability for puppet - 2016
High availability for puppet - 2016
 
Chef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg ScaleChef Patterns at Bloomberg Scale
Chef Patterns at Bloomberg Scale
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets  Scaling Servers and Storage for Film Assets
Scaling Servers and Storage for Film Assets
 
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster EnvironmentPuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster Environment
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at FacebookSREConEurope15 - The evolution of the DHCP infrastructure at Facebook
SREConEurope15 - The evolution of the DHCP infrastructure at Facebook
 
HBase replication
HBase replicationHBase replication
HBase replication
 
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
 
Kea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISCKea DHCP – the new open source DHCP server from ISC
Kea DHCP – the new open source DHCP server from ISC
 
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
 
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
Webinar Slides : Migrating to MySQL, MariaDB Galera and/or Percona XtraDB Clu...
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 

Similar to Perforce Administration: Optimization, Scalability, Availability and Reliability

[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks
Perforce
 
Evolution Of MongoDB Replicaset
Evolution Of MongoDB ReplicasetEvolution Of MongoDB Replicaset
Evolution Of MongoDB Replicaset
M Malai
 
Transferring Changes Between Perforce Servers
Transferring Changes Between Perforce ServersTransferring Changes Between Perforce Servers
Transferring Changes Between Perforce Servers
Perforce
 
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
LetsConnect
 
Evolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best PracticesEvolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best Practices
Mydbops
 
Multi-Site Perforce at NetApp
Multi-Site Perforce at NetAppMulti-Site Perforce at NetApp
Multi-Site Perforce at NetApp
Perforce
 
Drop the Pressure on your Production Server
Drop the Pressure on your Production ServerDrop the Pressure on your Production Server
Drop the Pressure on your Production Server
Microsoft TechNet - Belgium and Luxembourg
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
Perforce
 
OpenPOWER Application Optimization
OpenPOWER Application Optimization OpenPOWER Application Optimization
OpenPOWER Application Optimization
Ganesan Narayanasamy
 
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
Perforce
 
Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale
Perforce
 
[Perforce] Admin Workshop
[Perforce] Admin Workshop[Perforce] Admin Workshop
[Perforce] Admin Workshop
Perforce
 
Percona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient BackupsPercona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient Backups
Mydbops
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica sets
Chris Westin
 
SCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V ReplicaSCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V Replica
Mike Resseler
 
Accelerating Software Development with NetApp's P4flex
Accelerating Software Development with NetApp's P4flexAccelerating Software Development with NetApp's P4flex
Accelerating Software Development with NetApp's P4flex
Perforce
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community
 
White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...
Perforce
 
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive PresentationNabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz
 
MySQL Replication Basics
MySQL Replication BasicsMySQL Replication Basics
MySQL Replication Basics
Abdul Manaf
 

Similar to Perforce Administration: Optimization, Scalability, Availability and Reliability (20)

[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks
 
Evolution Of MongoDB Replicaset
Evolution Of MongoDB ReplicasetEvolution Of MongoDB Replicaset
Evolution Of MongoDB Replicaset
 
Transferring Changes Between Perforce Servers
Transferring Changes Between Perforce ServersTransferring Changes Between Perforce Servers
Transferring Changes Between Perforce Servers
 
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
 
Evolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best PracticesEvolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best Practices
 
Multi-Site Perforce at NetApp
Multi-Site Perforce at NetAppMulti-Site Perforce at NetApp
Multi-Site Perforce at NetApp
 
Drop the Pressure on your Production Server
Drop the Pressure on your Production ServerDrop the Pressure on your Production Server
Drop the Pressure on your Production Server
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
 
OpenPOWER Application Optimization
OpenPOWER Application Optimization OpenPOWER Application Optimization
OpenPOWER Application Optimization
 
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
[Perforce] Replication - Read Only Installs to Fully Filtered Forwarding
 
Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale
 
[Perforce] Admin Workshop
[Perforce] Admin Workshop[Perforce] Admin Workshop
[Perforce] Admin Workshop
 
Percona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient BackupsPercona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient Backups
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica sets
 
SCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V ReplicaSCU 2015 - Hyper-V Replica
SCU 2015 - Hyper-V Replica
 
Accelerating Software Development with NetApp's P4flex
Accelerating Software Development with NetApp's P4flexAccelerating Software Development with NetApp's P4flex
Accelerating Software Development with NetApp's P4flex
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
 
White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...White Paper: Perforce Administration Optimization, Scalability, Availability ...
White Paper: Perforce Administration Optimization, Scalability, Availability ...
 
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive PresentationNabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
 
MySQL Replication Basics
MySQL Replication BasicsMySQL Replication Basics
MySQL Replication Basics
 

More from Perforce

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
Perforce
 
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...
Perforce
 
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...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
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...
Perforce
 
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
Perforce
 
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
Perforce
 
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?
Perforce
 
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 ...
Perforce
 
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
Perforce
 
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
Perforce
 

More from 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
 

Recently uploaded

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 

Recently uploaded (20)

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 

Perforce Administration: Optimization, Scalability, Availability and Reliability

  • 1. Perforce Administration: Optimization, Scalability, Availability, and Reliability Michael Mirman Perforce Administrator MathWorks, Inc. 2011
  • 3. ARCHITECTURE OVERVIEW •  Approximately 500 users •  Several million archive files •  Using almost all possible triggers, several daemons •  Mirroring our own bug database into Perforce •  Interfaces: P4, P4V, P4Perl, P4Java, Emacs, P4Eclipse, P4DB, P4EXP •  P4 Broker, P4 Proxies •  Multiple replicas
  • 4. P4 PROXIES AND P4 BROKER
  • 5. AVAILABILITY •  Proxies use anycast technology •  Special routing technology allows all users to have the default port (perforce:1666) regardless of their physical location •  Redirects users to the physically nearest proxy server •  Provides automatic fail-over if one proxy goes down •  P4broker is a High Availability VM and can be restarted anytime with minimal downtime •  Replicas allow read-only access if master is offline
  • 7. REPLICATION (2009.2 SOLUTION) P4 replicate command replicates only meta-data. •  Replicate archive synchronously p4 -p MASTER replicate -s STATEFILE -J JNLPREFIX SOMEDIR/p4admin_replicate -port 1666 -srchost MASTERHOST -srctop DATADIR •  Read journal records, pass them to p4d to replay them, and when necessary start copying archive: rsync -av --delete “$srchost:$srctop/$dir/” “$dir/” •  Script available in the public depot: //guest/michael_mirman/conference2011/p4admin_replicate
  • 8. REPLICATION (2010.2 SOLUTION) P4 pull command is available in 2010.2. •  Can replicate metadata and/or archive •  Configurables are a good way to set pull commands -> p4 configure show Replica Replica: startup.1 = pull -i 2 -J /perforce/1666/journal Replica: startup.2 = pull -i 1 -u Replica: startup.3 = pull -i 1 -u wait for 2011.1 Replica: startup.4 = pull -i 1 -u wait for 2011.1
  • 9. P4 PULL VS P4ADMIN_REPLICATE •  p4 pull is more efficient than p4admin_replicate •  times when metadata are matching the archive are determined differently •  recursive rsync takes a long time for top directories •  p4admin_replicate has extra features •  p4 replicate can filter records •  p4admin_replicate can have multiple destinations •  p4admin_replicate can be used to update archive without updating metadata •  detailed logging – easier introspection Use p4 replicate if you need to filter journal records
  • 11. P4 BROKER •  Continuous builds and other read-only applications may be happy with a replica •  Continuous builds may be happy with a metadata replica to determine the time to start building •  TeamCity submits several queries for each build •  Some of our builds use “p4 fixes -i” and “p4 changes” •  Our usage of p4broker: •  Redirect queries from Build systems •  Support P4DB (web read-only interface) •  Provide a nice message if the master is under maintenance and only read-only access is provided
  • 12. STALE REPLICAS What if my replica goes stale? •  Monitor the age of your replica. Cron example: * * * * * for n in 1 2 3 4 5 6; do export DT=`date`; echo "$n. $DT"; p4 -p perforce:1666 counter keepinsync "$DT"; sleep 10; done Look at the replica age: -> p4 -p perforce:1666 counter keepinsync! Mon Mar 28 16:06:12 EDT 2011! -> p4 -p replica1:1666 counter keepinsync! Mon Mar 28 16:06:02 EDT 2011 •  If the replica age goes over a threshold, regenerate the broker config file and alarm the administrator
  • 13. SERVER UNDER MAINTENANCE Additional benefits of p4broker •  If the master server is unavailable, the broker config is regenerated to provide the appropriate message for non- read-only commands •  If no servers are available, the broker config is regenerated to provide a different message (“No servers are available”) instead of not user-friendly “Connection refused”
  • 14. OUR EXPERIENCE WITH LOAD BALANCE What we find useful: •  Monitor the load and collect data even if we don’t need these data right now •  Use replicas to distribute the load •  Maintain the broker config file according to server availability and replica age •  Broker provides transparency and increases the availability of the server
  • 16. CHECKPOINTING Checkpointing causes users to wait •  It’s always too long •  Different ways of creating checkpoints offline •  our old way (using NetApp snapshots): //guest/michael_mirman/snap_checkpoint/snap_checkpoint •  our new way: using metadata replica
  • 17. USING METADATA REPLICA Metadata replica practically does not lag behind the master. •  Settings: -> p4 configure show Replica2 Replica2: monitor = 1 Replica2: server = 1 Replica2: startup.1 = pull -i 4 -J /export/journal/perforce/1666/journal •  Command: p4d –r ROOTDIR –z –jc CKPDIR/perforce.1666 •  Nightly db validation p4d –r ROOTDIR –xv p4d –r ROOTDIR –xx
  • 19. DISASTER RECOVERY PLAN •  Checkpoints and journals are copied to the backup filer immediately after their creation •  Archive is maintained continuously by p4admin_replicate •  Two test servers are used to verify the restore process •  DB is restored from the latest checkpoint + all following journals •  The earliest journal is determined by the time stamp from the first @ex@ record from the checkpoint
  • 20. DISASTER RECOVERY PLAN (continued) •  Test restore process includes p4d –xv p4d –xx p4 verify –qz //… •  Repository is split up and verified in N processes in parallel (example in the public depot: //guest/ michael_mirman/conference2011/pverify)
  • 21. FAIL-OVER PLAN •  No automatic fail-over (conscious decision: assess the situation) •  Use it after rebuilding database on a replica •  Fail-over is accomplished by changing the broker config file •  block write access •  wait for the replication to get the standby to be in sync with the master •  allow write access to the new master
  • 22. MAJOR UPGRADE •  Place all binaries in the right locations and update licenses if necessary •  Reconfigure p4broker to block write access and redirect all read-only requests to a replica •  Wait until the replica is in sync with the master •  Stop the master and all replication processes •  Upgrade the master (p4d -xu) and restart it •  Reconfigure p4broker not to use any replica •  Upgrade and restart every replica •  Restart replication processes •  Reconfigure p4broker to use replicas as usual •  Restarting p4broker and proxies cause short service interruptions, but we don’t always have to do this
  • 24. WHAT WORKED WELL FOR US To increase availability: •  Anycast with multiple proxies – no need to reconfigure clients when infrastructure changes •  High-Availability VM for p4broker •  Maintaining a warm standby replica. To improve load balancing: •  Moving some maintenance procedures to replica servers (our VMs are adequate); •  Creating checkpoints on a replica server and testing them regularly; •  Using p4broker to redirect some load to a replica server.
  • 25. WHAT ELSE WORKED WELL Having test servers with identical or very similar architecture. Replicating data synchronously on replicas and continuously on archive. “Set it and forget it” - Administration is easy when you have automated most functions.
  • 26. THANK YOU! ANY QUESTIONS?