32 bit versus 64 bit

floyd

Verified User
Joined
Mar 29, 2005
Messages
6,269
I think its been discussed here before but I wanted some fresh outlooks. I have a server on the way and was just wondering which to install. I would like to know what people with experience have to say about it. I do not want opinions based on what other people have said or other studies. I can read those myself. I want to know if you have actually experienced a measurable difference between the two.

Thank you.
 
Getting the install done on 64 bit centos is a little tricky but it can be done.

I have not measured the difference but all my 64 bit machines "feel" faster. Given that they are all running different clients with different needs than my 32 bit machines, I doubt I could ever make an accurate comparison. More clients seem to live happier on the 64 bit machines. Not very "scientific" but it is very "real world."

More clients in peaceful coexistence per box is always a good thing...
 
but all my 64 bit machines "feel" faster

Could it be because you already believe 64 bit should be faster so your mind is telling you that it is faster?

I wonder what would happen if people looked at both where they didn't know which was which.

I just don't want to go through the work of learning and dealing with new stuff for very little benefit.
 
Could it be because you already believe 64 bit should be faster so your mind is telling you that it is faster?

No. When I say "feel" i'm not talking about the impression that one has when using the server. I'm talking about more clients on the box that are happily using it without getting in each other's way. I was simply pointing out that no two web servers are the same in that they all have different clients running different applications at different traffic levels. I'm just saying that on average our 64 bit machines seem to be pulling a greater load but I admit our sample size is too small to make any concrete statements.

Technically, 64 bit seems to work out just fine once we got things to compile properly. Our biggest problem was centos' desire to follow redhat and include 32bit libs on the box. This confused the build system to no end. We solved it by doing a:

Code:
yum remove \*.i\?86

before installing DA. I noticed yesterday that many other people were tripped up by this so I let John know about it and he added it to their help file at:

http://help.directadmin.com/item.php?id=213

If you have any other 64bit problems, let me know. I'm pretty far from an expert but I'm pretty far from a noob too.... ;)

I guess that would make me "noobspert"...
 
Last edited:
I guess what I can do is run unixbench on the 32 bit which I have installed now and then install the 64 bit and run unixbench again and see what happens.

That way its on the same machine.
 
The general consensus among server administrators I know is that if you're going to have more than 3.5G of memory installed, either now or later, then use 64-bit. Why? Because without smoke and mirrors in the kernel, you can't readily access more than 3.5G of memory.

Jeff
 
The smoke and mirrors may be true but its done for me by the kernel writers. The default CentOS install detects the RAM and installs the PAE kernel. I don't have to worry about the smoke and mirrors myself.

I am willing to sacrifice a little performance for less hassle and problems and just wait for 64 bit to get better.

If the performance is significant then I will deal with the problems on this first machine and document the solutions so I don't have to deal with them on future machines.

I am trying weigh performance against hassle. Hopefully unixbench will tell me something.
 
Here is 32 bit unixbench. 64 bit will be tomorrow some time.

Code:
Benchmark Run: Sat Feb 20 2010 17:10:05 - 17:38:28
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        9415911.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2095.3 MWIPS (10.2 s, 7 samples)
Execl Throughput                               2712.2 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        265152.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           71215.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        639312.0 KBps  (30.1 s, 2 samples)
Pipe Throughput                              427862.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 101300.5 lps   (10.0 s, 7 samples)
Process Creation                               9379.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5250.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2354.9 lpm   (60.0 s, 2 samples)
System Call Overhead                         801013.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    9415911.4    806.8
Double-Precision Whetstone                       55.0       2095.3    381.0
Execl Throughput                                 43.0       2712.2    630.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     265152.0    669.6
File Copy 256 bufsize 500 maxblocks            1655.0      71215.5    430.3
File Copy 4096 bufsize 8000 maxblocks          5800.0     639312.0   1102.3
Pipe Throughput                               12440.0     427862.7    343.9
Pipe-based Context Switching                   4000.0     101300.5    253.3
Process Creation                                126.0       9379.1    744.4
Shell Scripts (1 concurrent)                     42.4       5250.9   1238.4
Shell Scripts (8 concurrent)                      6.0       2354.9   3924.8
System Call Overhead                          15000.0     801013.5    534.0
                                                                   ========
System Benchmarks Index Score                                         683.3

------------------------------------------------------------------------
Benchmark Run: Sat Feb 20 2010 17:38:28 - 18:06:47
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables       75673460.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    16835.6 MWIPS (10.2 s, 7 samples)
Execl Throughput                              17436.3 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        160879.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           42444.9 KBps  (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        520439.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             3447694.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1317252.0 lps   (10.0 s, 7 samples)
Process Creation                              57007.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  26366.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                   3633.8 lpm   (60.0 s, 2 samples)
System Call Overhead                        1794966.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   75673460.7   6484.4
Double-Precision Whetstone                       55.0      16835.6   3061.0
Execl Throughput                                 43.0      17436.3   4055.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     160879.7    406.3
File Copy 256 bufsize 500 maxblocks            1655.0      42444.9    256.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     520439.1    897.3
Pipe Throughput                               12440.0    3447694.2   2771.5
Pipe-based Context Switching                   4000.0    1317252.0   3293.1
Process Creation                                126.0      57007.2   4524.4
Shell Scripts (1 concurrent)                     42.4      26366.2   6218.4
Shell Scripts (8 concurrent)                      6.0       3633.8   6056.3
System Call Overhead                          15000.0    1794966.3   1196.6
                                                                   ========
System Benchmarks Index Score                                        2215.7
 
Here is 64 bit unixbench. Same machine. Its a little better than the 32 bit. However I am still working through the problems 64 bit causes.

Code:
Benchmark Run: Sun Feb 21 2010 12:56:23 - 13:25:02
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12966287.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2682.5 MWIPS (9.9 s, 7 samples)
Execl Throughput                               2346.5 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        370644.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          106969.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        641074.8 KBps  (30.1 s, 2 samples)
Pipe Throughput                              759025.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 105752.0 lps   (10.0 s, 7 samples)
Process Creation                              11713.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5643.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2422.6 lpm   (60.0 s, 2 samples)
System Call Overhead                         745994.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12966287.6   1111.1
Double-Precision Whetstone                       55.0       2682.5    487.7
Execl Throughput                                 43.0       2346.5    545.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     370644.2    936.0
File Copy 256 bufsize 500 maxblocks            1655.0     106969.4    646.3
File Copy 4096 bufsize 8000 maxblocks          5800.0     641074.8   1105.3
Pipe Throughput                               12440.0     759025.0    610.1
Pipe-based Context Switching                   4000.0     105752.0    264.4
Process Creation                                126.0      11713.6    929.6
Shell Scripts (1 concurrent)                     42.4       5643.8   1331.1
Shell Scripts (8 concurrent)                      6.0       2422.6   4037.7
System Call Overhead                          15000.0     745994.2    497.3
                                                                   ========
System Benchmarks Index Score                                         809.6

------------------------------------------------------------------------
Benchmark Run: Sun Feb 21 2010 13:25:02 - 13:53:54
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables      102411533.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    21417.7 MWIPS (9.9 s, 7 samples)
Execl Throughput                              17791.7 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        168187.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           47309.1 KBps  (30.1 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        455753.0 KBps  (30.4 s, 2 samples)
Pipe Throughput                             5910028.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1940193.8 lps   (10.0 s, 7 samples)
Process Creation                              61277.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  27684.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   3854.0 lpm   (60.1 s, 2 samples)
System Call Overhead                        1928424.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  102411533.8   8775.6
Double-Precision Whetstone                       55.0      21417.7   3894.1
Execl Throughput                                 43.0      17791.7   4137.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     168187.4    424.7
File Copy 256 bufsize 500 maxblocks            1655.0      47309.1    285.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     455753.0    785.8
Pipe Throughput                               12440.0    5910028.6   4750.8
Pipe-based Context Switching                   4000.0    1940193.8   4850.5
Process Creation                                126.0      61277.0   4863.3
Shell Scripts (1 concurrent)                     42.4      27684.8   6529.4
Shell Scripts (8 concurrent)                      6.0       3854.0   6423.4
System Call Overhead                          15000.0    1928424.2   1285.6
                                                                   ========
System Benchmarks Index Score                                        2566.1
 
The most important thing is the "System Benchmarks Index Score" The higher the score the better.
 
How did you run it? Is it a program or script? I would be interested to see what my servers get.
 
Thanks floyd for the bench tests.

What sort of problems is 64 bit giving you? You alluded to them in an earlier post but didn't give any details.
 
Code:
yum remove \*.i\?86

Caused me problems when I went to upgrade php for some reason. But when I do a clean install and do not use the above code everything works fine.

Notes: I am still using customapache but I still have to have FrontPage Server Extensions. Its either let customers use them or lose the customers.

So I do the normal "sh setup.sh uid lid server.example.com eth0" This installs php4. I want to upgrade to php5. So I go to customapache and do the necessary steps that I do all the time on a 32 bit system and "./build php" I get errors. Some I can fix and some I cannot for some reason. Something about the kerberos installation. I reinstalled krb5 and krb5-devel but to no avail. Maybe it was krb5-libs I needed.

Anyway after a OS reinstall leaving the i386 rpm's has not caused me any problems yet.
 
I see. We use the custombuild system here and the latest apache. Never tried the older stuff on 64 bit so have no experience there.

What is a specific error that you get when building php5? Are they anything like the "skipping incompatible..." errors reported at the bottom of http://help.directadmin.com/item.php?id=213

I'm wondering if older software will build on the 64bit in some sort of "compatibility" mode while newer stuff will not?...

How are you getting the frontpage extensions? I thought that DA stopped distributing them. They are REALLY old and probably not secure. I understand about stubborn customers though. Probably best to group them all on one box so as to minimize the collateral damage to other clients in the event the box gets rooted.
 
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.

Had to install i386 version of libc-client

configure: error: Kerberos libraries not found.

Had to install i386 version of krb5-devel
 
Of course the problem with offering FPX is that Microsoft no longer licenses us to do so. When Microsoft stopped allowing it's use on new servers under the license, and stopped allowing the company supporting it to support it, we sent our users a link to the announce and notified our users that we would continue to leave it on our servers but could no longer do anything about it if it broke. It's been occasionally breaking for customers and we just remind them what we wrote some time ago.

Of course many users of FP don't need FPX; they just need to learn how to use ftp to upload from FP.

Jeff
 
Back
Top