[p4] Performance of remote perforce depots and proxies

steve@vance.com steve at vance.com
Thu Nov 1 20:11:28 PDT 2007


1) No. Perforce parallelizes at the command level. The way you are breaking
up your syncs is the best way. There is no good way to break up a submit
without destroying atomicity. Also, breaking up many query commands can
require potentially complex result reconciliation. The additional queries
to the server to reconcile the results may not be worth the savings in
breaking the command up.

2) Standard network performance tuning balance between throughput and
reliability. Try adjusting it and watching your dropped packet count.
There's a formula out there for an "ideal" balance. If you have a highly
reliable connection, you should be able to up your packet size to 16k
without significantly adverse results, but I'm not an expert in this area
so defer to the experts on the details.

3) No. The proxy is simply a file caching application, not a transaction
monitor. Other than breaking some requests into two-phase requests and
determining whether it has a particular revision in its cache, the proxy
knows nothing about the metadata or transaction boundaries.

Assuming you have a reliable connection, you are correct that your latency
is responsible for the portion of your perceived performance issues that
you can fix. Even with the proxy, every user request requires at least one
round trip to the server. I was just at a client site in China whose ping
times back to the Midwest US were <128ms, so you definitely have room for
improvement.

Steve

Original Message:
-----------------
From: Craig James Craig.James at thq.com
Date: 	Fri, 2 Nov 2007 11:25:30 +1000
To: perforce-user at perforce.com
Subject: [p4] Performance of remote perforce depots and proxies


Hi everyone,

We are doing co-development between two studios, one in Brisbane Oz, and
the other in New York US.  We both have perforce servers and both have
proxy servers set up locally to synchronise to the remote servers.

I'm investigating network performance between the two studios and am
finding our general network performance hits limits on each connection.

For example, if we ftp single files we get approx 200kbps, doing
multiple at once we get more like 8000kbps.  My belief is the latency of
each connection is killing the performance (249ms pings).

We can get around it somewhat for the syncs - as we can split that up
manually to do multiple folders in different command lines at once but
it is a real problem for submitting individual files as it locks the
client until the submit is complete (and we have some big ones).

I am following this up separately with our ISP but, to cover our bases,
my questions are:

1.	Can perforce be configured to send multiple 'packets' at once? 
2.	Is there a packet size that can be manipulated to send more data
at once?
3.	Can the proxy be made to operate in a way to accept local
submits, release the client and then transfer the file in the background
(even if it keeps the file locked for check out). 


Thanks,
Cj

++++++++++++++++++
Craig James
Lead Programmer
THQ StudioOz
Australia

_______________________________________________
perforce-user mailing list  -  perforce-user at perforce.com
http://maillist.perforce.com/mailman/listinfo/perforce-user


--------------------------------------------------------------------
myhosting.com - Premium Microsoft® Windows® and Linux web and application
hosting - http://link.myhosting.com/myhosting




More information about the perforce-user mailing list