Upgrading Plastic SCM to Firebird Server
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!
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?
ReplyDeleteHi André,
ReplyDeleteCan 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
I restarted the Plastic Service (for clean log file etc) and did the update twice:
ReplyDeleteSolveSelector 6552 ms
SolveSelector 6021
Number of files:
21.075 Files, 1.156 Folders
I have emailed the log files and details.
did you tested with firebird 2.5 ?
ReplyDeleteI guess it will speed up in some way
@Mariuz: we didn't officially test with 2.5, although it is something to do ASAP as you point... Thanks.
ReplyDelete