[p4] New Windows profiling script in public depot

Frank Compagner frank.compagner at guerrilla-games.com
Wed Sep 26 02:19:48 PDT 2007


Sorry, reposted, now with a proper subject.

Hi. I've just added a Python script to profile a Windows Perforce
server to the public depot at:
http://public.perforce.com:8080//guest/frank_compagner/

This has proved quite useful in figuring out where the performance
bottlenecks in our Perforce setup currently are, so hopefully other
people will find it helpful as well.

Detailed documentation is at the top of the script, here's the
summary: The script requires both a Windows server and client (where
the script will run), and both Windows and Perforce admin access to
run properly. It runs continously, giving you some general stats on
the server machine: cpu load, network & disk usage, as well as the
cpu & memory load of the p4 server process. It lists details on all
running Perforce threads, so you can easily see what the server is
doing and if it's having a hard time doing it. Proxy and client stats
can be monitored too to make it easier to track down bottlenecks in
your setup.

Some sample output:

CPU: p4s =  33%  Idle = 66%  Other =  0%    MEMORY: p4s = 2000 MB / 470 MB
NETWORK: 10 MB/sec    DISK: db =  4%  depot = 10%
----------------------------------------------------------------------------------
Runtime   User   Cpu % Tool  Connection  Workspace  Command

00:19:26  user1    0   P4V   p4proxy2    user1_ws   sync //user1_ws/proj1/...#head
00:19:19  user1    0   P4V   p4proxy2    user1_ws   sync //user1_ws/proj1/...#head
00:01:25  user3   25   p4    p4proxy2    user3      submit -c 349818
00:01:15  user2    2   p4v   user2       user2work  sync //depot/proj2/... at 349770
00:00:10  daemon   4   p4    p4proxy1    Builder03  revert -a -c 349814
00:00:01  admin    -   p4    frank       FrankWork  monitor show -a -e -l


----------------------------------------------------------------------------------
Proxy         Cpu 1  Cpu 2  Cpu 3  Cpu 4   Network     Disk
p4proxy2        4      2      0      0     9 MB/sec    45%

----------------------------------------------------------------------------------
Client        Cpu 1  Cpu 2  Cpu 3  Cpu 4   Network     Disk
Frank           3      0      0      0     0 MB/sec     1%


I'm working on a *nix version of the script, and I also want to turn
this into some sort of webpage to make it easier to access. When that
happens, I'll let you know.

If you have any comments or questions, let me know.

----------------------------------------------------------------
Frank Compagner                                  Guerrilla Games


More information about the perforce-user mailing list