[p4] has anyone used a RAM-SAN?

Tyler, Tom Tom.Tyler at Monster.com
Wed May 17 08:25:57 PDT 2006


Hello!

   Good analysis.  But just to emphasize for all, your mileage will vary!  In our case, I wouldn't user the term "minimal" to describe the improvement we saw when RAM drives were applied to the P4ROOT filesystem (where the databases are).  We noticed drastic, night & day improvements.  But the key is, we had specific analysis indicating that, in our situation, Perforce database activity was bottlenecking on I/O.  We coordinated our analysis with Perforce support as well.

Just to be clear -- I'm not saying RAM drives will make a big difference for you, even if you apply them to the filesystem where Perforce databases are.  You need to analyze your own server hardware and your own Perforce usage profile, and be careful not to make generalizations or assumptions when you can do the analysis.  A fifty user installation in a highly automated software production line that use Perforce for source code, build storage, and software deployment to runtime environments might keep their Perforce server more busy than three hundred users who use Perforce only for source code control.

Cheers!

Tom

-----Original Message-----
From: Weintraub, David [mailto:david.weintraub at bofasecurities.com]
Sent: Wednesday, May 17, 2006 10:48 AM
To: Dan Bloch; Tyler, Tom; perforce-user at perforce.com
Subject: RE: [p4] has anyone used a RAM-SAN?


I've been thinking about the idea of RAM based disks vs. physical disks
and how it would affect Perforce, and realize that if Perforce is
written correctly, using RAM based disks really won't make that much of
a difference in performance.

Like a lot of database systems, Perforce probably assumes that its
performance will be disk bound and takes measures to keep this problem
to a minimum. This means relying on memory caches, buffers, and
streaming reads and writes and minimizing the times when information is
actually read from written to the physical disk. Using a RAM based disk
may speed up these disks reads and writes, but it will result in only
minor improvements to overall performance.

There are two separate I/O disk bound operations in Perforce: Reading
and writing to Perforce's depot, and reading and writing to Perforce's
database.

The problems of I/O disk bound operations with the depot can be handled
mainly by streaming and caching. When Perforce is writing new data to
the depot, writes can be cached until the disk is ready. There can be
some improvement since Perforce keeps locks itself in single user mode
until disk writes are complete, but probably with minimal improvements
to overall performance. 

The biggest improvements for RAM based disks would come from reading and
writing to Perforce's database since this is much more heavily used than
the physical depot itself. However, I suspect that Perforce optimizes
these operations by keeping the database cached in memory as much as
possible The only improvement that RAM disks would take are the times
where the database on the disk is updated after a write transaction to
the database take place. Again, the performance enhancement will be
minimal.

In the end, a RAM based disk will speed up the final writes to the
database and depot, but Perforce's performance isn't heavily bound by
these operations. Also, like most database servers, even very busy
Perforce servers will have plenty of lull time to complete these
operations.

As you acknowledged, using RAM based disks do not greatly improve
Perforce's performance. I suspect that the greatest performance benefits
come from making sure that Perforce isn't stuck using virtual memory. A
system should have enough memory to make sure that Perforce has a large
enough cache for its database. And adding more memory than needed won't
improve Perforce's performance. Another major improvement will come from
making sure that the Perforce process itself isn't being paged in and
out of virtual memory. A dedicated Perforce server is almost a must.
There might be some network bound based Performance, but Perforce isn't
ClearCase. If there are a few bottlenecks in your network, using some
Perforce proxy servers will probably help.

-----Original Message-----
From: perforce-user-bounces at perforce.com
[mailto:perforce-user-bounces at perforce.com] On Behalf Of Dan Bloch
Sent: Tuesday, May 16, 2006 2:57 PM
To: Tyler, Tom; perforce-user at perforce.com
Subject: Re: [p4] has anyone used a RAM-SAN?

Hi, Tom-

Thanks for your detailed response.

We have now run the RAM-SAN for a week-long trial period.  We saw
significant but not breathtaking gains.  Write operations tended to
improve the most.  One of our biggest known problems was with large
(10-50,000 file) submits, and these improved by maybe a factor of two,
which was a disappointment given how much faster memory is than
mechanical disks.  But overall, we liked  it.

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


NOTICE:
This message may contain privileged or otherwise confidential information. If you are not the intended recipient, please immediately advise the sender by reply email and delete the message and any attachments without using, copying or disclosing the contents. (FE01)



More information about the perforce-user mailing list