Upgrading Plastic SCM to Firebird Server

Tuesday, January 11, 2011 5 Comments

When you install Plastic SCM on Window it will work with an embedded Firebird database. Firebird is very good in terms of performance for small teams, but sometimes you will need to upgrade to something faster, specially if you detect some operations are slow. Let's see how to do a very easy move: set up a Firebird server instead of an embedded one.

Motivation


If you see your update operation is too slow... then more often than not you're experiencing a slow backend. Sometimes it can also be due to the disk IO performance so do a quick test: go to your workspace and type:

cm update . --timer --stats --noparallel

And check the "SolveSelector" line. If it's bigger than, let's say, 3-5 seconds and your server is on the LAN... you've a perf issue!

Installing Firebird


At the time of writing this we just recommend to go for Firebird 2.1.3, so go to this page and download it: http://www.firebirdsql.org/index.php?op=files&id=engine_213. Installing it is just a matter of a few clicks.

Setting up Plastic to use a Firebird server


Really easy: stop the plastic service and then create a db.conf file on the server's directory location with the following contents:

(Remember: the entire "connection string" in a single line!!!!)

<DbConfig>
<ProviderName>firebird</ProviderName>
<ConnectionString>ServerType=0;User=SYSDBA;
Password=masterkey;Database={0};Pooling=true;
connection lifetime=60;Charset=UNICODE_FSS;
</ConnectionString>
<DatabasePath></DatabasePath>

</DbConfig>


Restart the Plastic server and you're done!

5 comments:

  1. We use SQL Server 2008 and have a large workspace. I executed the "cm update" and I get "SolveSelector 6942 ms". What can I do next?

    ReplyDelete
  2. Hi André,

    Can you consistently repeat the test? If so, if it always gives you about 6 secs, let's try to solve some questions:

    1- I guess your connection with the server is a LAN, so it must be pretty fast (otherwise let's focus on this)

    2- How many controlled items (files & directories) do you have in a workspace? It will give me an idea of how big it is.

    3- Launch an update and send me the latest server log by email so I can check where the time is being spent (only the log since you run the update on the client).


    pablo

    ReplyDelete
  3. I restarted the Plastic Service (for clean log file etc) and did the update twice:
    SolveSelector 6552 ms
    SolveSelector 6021

    Number of files:
    21.075 Files, 1.156 Folders

    I have emailed the log files and details.

    ReplyDelete
  4. did you tested with firebird 2.5 ?

    I guess it will speed up in some way

    ReplyDelete
  5. @Mariuz: we didn't officially test with 2.5, although it is something to do ASAP as you point... Thanks.

    ReplyDelete