Why
During some specific migration tests to 7.9 LTS we've encountered a few performance issues in Microsoft SQL Server environments. It's unclear if the issue root-cause is in the environment itself, or in the migration implementation. For the time being we've put a clear Upgrade Note in 7.9.0 as the issue might affect only certain environments.
What
DB migrations from 6.6 LTS to 7.9LTS include an early migration (back from 7.0) which initializes the newly created LIVE_MEASURES from table PROJECT_MEASURES. This migration therefore performs a massive amount of inserts (PROJECT_MEASURES is usually a large table).
On Postgres and Oracle DBs in our testing environments, we've been achieving inserts throughput largely higher than 10000 rows per seconds. On SQL Server, throughput is starting way lower (6000 at most) and quickly drops and constantly drops towards throughput as low as 200 rows per seconds (and maybe lower).
How
After hard and long investigation, the cause of bad performance of massive inserts was identified.
Turns out a specific JDBC API call was causing implicit conversions calls on SQL Server which have a strong performance impact.