MySQL is written with UNIX-like operating systems in mind. MySQL for
Windows does not currently take advantage of many of the powerful
scalability features of Windows NT based operating systems (2000, XP, 2003),
as stated in the documentation. I happen to be one of the people working to
make MySQL take advantage of the NT functionality. When my new Win32 disk
I/O code goes into MySQL, and all disk I/O isn't serialized (in other words
SELECT + SELECT on all engines, and SELECT + INSERT in MyISAM will no longer
be serialized simply because Windows doesn't have pread/pwrite), I think
you're going to see some of the artificial performance differences between
MySQL for Windows and MySQL for Linux start to level off. Not that I'd
suggest benchmarking those two programs against each other as some kind of
valid comparison of performance until a lot of MySQL for Windows
functionality is rewritten to take advantage of NT kernel features.
For an example of how much different a server based solely on UNIX-like
emulation of syscalls versus that same code properly ported to Windows, take
a look at Apache2 for Windows. They take advantage of asynchronous accepts
and I/O completion ports in the new MPM.
What many non-programmers fail to realize is that the NT kernel provides
methods of high performance I/O and scalability that are not only
competitive with but in some ways superior to Linux's epoll or BSD's kqueue.
The problem is, the only experience you have to base your judgement on is
either Microsoft software like IIS which has had plenty of bumps along the
way, or UNIX programs that are "ported" to Windows by using compatibility
functions and hacking certain functionality to fit into the UNIX model these
programs are written for. The first great example of how a well written
port to Windows can turn out high performance and scalability, take a look
at the WinNT port of Apache2, and then tell us how slow Windows is.
----- Original Message -----
From: "Jay Blanchard" <[EMAIL PROTECTED]>
To: "Jeremiah Gowdy" <[EMAIL PROTECTED]>; "Brian Dunning"
<[EMAIL PROTECTED]>; <mysql@lists.mysql.com>
Sent: Friday, August 12, 2005 8:26 AM
Subject: RE: Linux vs. Windows?
[snip]
I am willing to bet you I can write a more scalable higher performing
socket
server using NT I/O Completion Ports than you can write using Linux's
epoll.
It you're running a 32 cpu system, Windows will consistently outperform
Linux in many areas.
My point is, blanket statements like this aren't wise.
[/snip]
Except when they are.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]