Re: MS Windows 2008 vs Linux (any flavor)

  • From: Niall Litchfield <niall.litchfield@xxxxxxxxx>
  • To: "JBECKSTROM@xxxxxxxxx" <JBECKSTROM@xxxxxxxxx>
  • Date: Mon, 21 Oct 2013 22:07:10 +0100

485 million years ago (well in 2009) there was a thread on Windows vs Linux
to which I contributed the below. I pretty much stand by the main points
still.
1) This could be tested with sensible workload based benchmarks, but I'm
not aware of any remotely current ones. (I was complaining in 2009 that
someone should redo the tests, I don't think its been done).
2) You should choose O/S according to the capabilities of the people
managing it

The thread is at https://forums.oracle.com/thread/978659 but is full of
Burleson being silly and reminiscences about then old hardware. If anyone
is aware of any sensible benchmarks (especially for one of the core
variants of windows server) I'd be interested in seeing them, I no longer
have ready access to test hardware and windows o/s distributions.

message from thread follows
===


Charles Hooper wrote:
Kris,

There are a lot of factors which may have contributed to the slower than
expected performance on Windows 2003 that you noticed. Those factors
include:
* Not collecting system (CPU) statistics on Oracle 9i or higher
* Not collecting data dictionary statistics on Oracle 9i or higher
* Not configuring large page support, if it is able to be used
* Not taking advantage of a battery backed cache to improve write
performance
* Leaving the default db_file_multiblock_read_count set to 16 (I believe
that is what the DBCA sets on 10g and above) rather than allowing Oracle to
auto-tune the parameter. Limiting extent sizes to smaller than 1MB could
also cause performance problems.
* Installing a virus scanner on the server, especially if it is permitted
to scan program and data files used by Oracle.
* Using inappropriate parameters for memory allocations.
* If a database release upgrade was involved, not directly attacking the
specific performance problem which is the source of the problem - could
just be just a couple bad execution plans, possibly caused by the upgraded
query optimizer.
* ... (Niall Litchfield, or someone else might be able to provide
additional causes)

Probably the most common reasons are running excessive non-oracle workload
on the same server (of which the virus scan is a prime example), but often
people I see will compare a combined database and app server running
windows against the same system but with the database remotely located on a
unix server. The performance difference is then attributed to the o/s and
not the architecture.

>

A couple things to keep in mind about Windows:
* Oracle on Windows uses direct, asynchronous I/O, which helps minimize
concurrency problems. But, this also means that the operating system's file
cache probably is of little use to Oracle on Windows.

conversely Linux, especially older releases of Oracle on Linux, tended to
have really poor disk io in comparison to windows. This problem has mostly
gone away, but for all its faults NTFS remains a really good FS for Oracle.

* Oracle on Windows uses a thread model, while Oracle on Linux (and other
Unix like operating systems) uses a process model. The thread model is less
negatively impacted by context switches than is the process model, which
should help improve performance in some cases, such as repeatedly calling a
PL/SQL function from a SQL statement.

The single biggest limitation these days however is in addressable memory
on the 32bit platform, since all those threads share the same memory space
(especially for PGA and session info) as the backgrounds. The simple answer
to this is not to use PAE or /3gb or all the rest but to use a 64bit o/s
(including windows).

* Properly configured, the same server running 64 bit Windows should be
able to achieve roughly the same performance as the same server running 64
bit Linux (assuming direct, asynchronous I/O is enabled on Linux).
* ... (Niall Litchfield, or someone else might be able to provide
additional things to keep in mind)

The tests that I and others have done (*in the 2.4 kernel timeframe*)
showed that workload based tests (as opposed to Roby's operation based
tests) gave windows about a 5-15% *advantage* when properly configured.
It's high time these tests were re done though.

>

The general advice that you will likely receive is to use the operating
system that you know best for Oracle.

That would be mine, technology doesn't break databases, people do.


Niall

=========


On Mon, Oct 21, 2013 at 7:51 PM, Jeffrey Beckstrom <JBECKSTROM@xxxxxxxxx>wrote:

> I am looking for a benchmark comparing the two OS'es on identical
> hardware.  I found a number of benchmarks, but the hardware differed in the
> comparisons.  Can anyone point me to relevant documents.
>
>
>
> Jeffrey Beckstrom
> Database Administrator
> Greater Cleveland Regional Transit Authority
> Information Systems
> 1240 W. 6th Street
> Cleveland, Ohio 44113
>
>
>
>
>
> .
> --
> //www.freelists.org/webpage/oracle-l
>
>
>


-- 
Niall Litchfield
Oracle DBA
http://www.orawin.info


--
//www.freelists.org/webpage/oracle-l


Other related posts: