0

We have recently installed SQL Server 2019 on a server, running Ubuntu 20.04 (server edition). Under our specific use case, executing integration testing against this SQL Server instance, it takes 2-3 times longer than executing the same tests against an SQL Server instance running in a VirtualBox VM under Windows, on the same hardware.

We have followed and implemented various recommendations for improving SQL Server performance for Linux, but no significant change in performance was observed.

Is there something fundamental that makes SQL Server 2019 on Linux perform 2-3 times slower than on Windows in a VirtualBox VM on the same server?

Thank you.

01es
  • 101
  • 5
  • Is that Linux server also virtualized? Can you give a bit more specs and detail about the machines and it's storage? Random tip for Virtual Box: enable 'use host IO cache' under 'storage' – Halfgaar Feb 10 '21 at 10:32
  • @Halfgaar Linux runs on the bare metal and the VM is installed under that Linux installation. So, we were expecting SQL Server in the VM to perform worse, but it is 2x faster. From that point of view hardware spec should not matter. It is Dell T420 with 2 CPUs Intel Xeon E5-2420v2, 64Gb RAM, a budget RAID controller H310 and 2 groups of HDDs (2 HDDS in each group, RAID1), group 1 formatted with EXT4 (`/` is mounted to this group), group 2 formatted with XFS (`/var` is mounted to this group). – 01es Feb 10 '21 at 21:26
  • 1
    As a side-note about using Server Fault: the comment field is small and without markup for a reason. When you're asked for details, you can edit your question and update. This allows a new reader to see it at first glance, instead of having to read the discussion. – Halfgaar Feb 11 '21 at 09:38

1 Answers1

0

I advise you to take a look at https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-performance-best-practices?view=sql-server-ver15 for performance best practices and configuration guidelines for SQL Server on Linux.

As Microsoft say there: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-faq?view=sql-server-ver15 "Is SQL Server on Linux the same as the Windows version ?"

"The main database engine for SQL Server is the same on both Linux and Windows. However, some features are not currently supported on Linux. For a list of unsupported features in Linux, see https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2019?view=sql-server-ver15# . See also Known Issues: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-server-ver15#known-issues. Unless otherwise noted in these lists, other SQL Server features and services are supported on Linux. "

On unsupported features, you can see that in Database Engine Area, there are: System extended stored procedures (XP_CMDSHELL, etc.) Buffer Pool Extension.

So at the end there are things that are still not supported on Linux.

Hope this helps you and that this give you a better overview

dodexahedron
  • 115
  • 10
r3d
  • 138
  • 8
  • Thank you, we have followed up and implemented performance best practices recommended by Microsoft (the ones referenced by you). This made very marginal effect in our case. I don't believe we're using any of the unsupported feature listed, unless some of SQL commands that get executed as part of our tests, such as removal and recreation of DB schemas, involve some of those under the hood. – 01es Feb 11 '21 at 02:40