[CCP14 Home: (Frames | No Frames)]
CCP14 Mirrors: [UK] | [CA] | [US] | [AU]

(This Webpage Page in No Frames Mode)

CCP14

Methods, Problems and Solutions

BSD UNIX Information for Crystallography

Using ApacheBench to provide a comparison of FreeBSD 4.2 and Redat 7.0 with Apache for High Performance PC Webserving

The CCP14 Homepage is at http://www.ccp14.ac.uk

[Back to Problems and Solutions]
[Back to: BSD UNIX Information for Crystallography] [To: Linux Information for Crystallography]

[Apache, Redhat and FreeBSD comparison] | [Optimising FreeBSD for Apache and High Performance web serving]

[Summary] | [Web References] | [Test System] | [ApacheBench results] | [ApacheBench Examples]

(Please note that Apache is a good, flexible web server but is not lightning fast. For high capacity serving of static webpages without overwhelming the server computer, thttpd (tiny/turbo/throttling HTTP server) may be a better web server to use.)

Summary so Far (2st Jan 2001)

Still unresolved issues relating to Apache Bench at high -c values vs "Address family not supported by protocol" messages.

The Default FreeBSD kernel is totally useless for handling elevated load tests from ApacheBench. Recompiling the kernel with maxusers=512 and various other tweaks majorly improved the robustness of FreeBSD to handle very nasty loads by ApacheBench.

  1. Using ab (apachebench) and apache 1.3.14 as a test: "Out of the box" Redhat 7.0 craps all over "out of the box" FreeBSD 4.2 (due to default maxfile=16 setting). Default FreeBSD looks totally woeful when compared in this way to Redhat Linux.
  2. After recompiling the FreeBSD kernel with maxusers=512 - on low to "high" (though not extremely high) loads, default Redhat out performs FreeBSD in terms of speed (though the "loads" given out by Redhat are more variable - and at higher loads Redhat always seems to registers a temporary zombie apache process which it then gets rid of after it calms down from the test)

Some web References

(some directly relevant, some not):

Test PC Config and FreeBSD UNIX Install

Default Redhat 7.0 with X and all the garbage that comes with it. Portmap, inetd, etc turned off.

Default minimum install of FreeBSD 4.2 UNIX with man pages and kernel source

FreeBSD 4.2 UNIX with recompiled kernel with maxusers=512 (up from 16)

(Apache compiled fresh from default source code; minspare=5; maxspare=10; startservers=20; maxclients=150)

  • Viglan 300 MHZ Intel Pentium with 128 Meg RAM
  • 3COMFast Etherlink XL 10/100 Mb TX Ethernet NIC (3C 905B-TX) on IRQ 9
  • ATI Xpert@Work Video Card (ATI 3D RAGE PRO - DirectX) (MACH64 Drivers based for XFree86 Xwindows)
  • iiyama 17" MT-9017T video monitor that can do (Frequency: 50/60Hz):
    • 1024x768 at 75Hz VESA; 60.02kHz HorizontalFrequency; 75.0kHz Vertical Frequency
    • 1280x1024 at 75Hz VESA; 79.98kHz HorizontalFrequency; 75.0kHz Vertical Frequency
  • Generic Floppy Disk
  • In board SYMBIOS Logic 875XSID (NCR53c8xx) (Hardcopy Manual: SYM8751SP) PCI Ultra SCSI Host adapter (no devices connected)
  • SCSI Fujitsu Hard Disk drive with ~8 Gig IDE Hard-disk
  • Yamaha OPL3-Sax Sound System
  • Atapi CD-ROM: TEAC CD-532E

Test Results Summary Table

Click here for zip file with: Small, Medium and Large HTML test files

Click here for tar.Z file with: Small, Medium and Large HTML test files

OS

Kernel Tweaked?

Size HTML file (kB)

C - users Concurrency

N No requests

Time taken (sec)

Completed requests

Requests per second

Transfer Rate (Kb / sec)

Ab Errors?

Multi Times?

Mult-time AB error

Temp Zombies Produced?

Load Average

(includes AB)

Redhat 7.0

No

1.5

10

10

0.02

10

500

897

 

Y

   

0.01

Redhat 7.0

No

1.5

10

100

.124

100

806

1447

 

Y

   

0.01

Redhat 7.0

No

1.5

10

1000

1.24

1000

802

1440

 

Y

   

..5 = 1.5

Redhat 7.0

No

1.5

10

10000

12.6

10000

790

1419

 

Y

   

.5 = 1.5

Redhat 7.0

No

1.5

10

100000

127.9

100000

781

1403

 

Not tried

   

.5 1.7

Redhat 7.0

No

143

10

10

.07

10

144

21140

 

Y

   

.05

Redhat 7.0

No

143

10

100

.66

100

150

21960

 

Y

   

.05

Redhat 7.0

No

143

10

1000

6.7

1000

148

21732

 

Y

 

1 (on multi)

.5

Redhat 7.0

No

143

10

10000

67

10000

148

21672

 

Y

 

1 (on multi)

1.2

Redhat 7.0

No

658

10

10

.25

10

39

26307

 

Y

     

Redhat 7.0

No

658

10

100

2.5

100

38.7

26083

 

Y

   

.2

Redhat 7.0

No

658

10

1000

25.5

1000

39

26309

 

Y

   

.7

Redhat 7.0

No

1.5

150

150

.228

150

657

1180

 

Y

   

.2

Redhat 7.0

No

1.5

150

1500

1.98

1500

754

1362

 

Y

   

.2

Redhat 7.0

No

1.5

150

5000

6.8

5000

731

1332

 

Y

   

.4

Redhat 7.0

No

143

150

5000

39.2

5000

127

18857

 

Y

 

1

.4

Redhat 7.0

No

658

150

5000

149

5000

33.9

22061

 

Y

 

1

1.2

Redhat 7.0

No

1.5

250

250

.47

250

529

996

 

Y (though goes slow)

   

.03

Redhat 7.0

No

1.5

250

2500

3.8 = 6.3

2500

651 396

1207 - 718

 

Y (though goes slow

 

1

.4

Redhat 7.0

No

658

250

250

9.5

250

26.17

21141

 

Y

 

1

.4

Redhat 7.0

No

1.5

500

500

3.6

500

138

253

 

Y

 

1

.3

Redhat 7.0

No

1.5

500

5000

10.1

5000

491

907

 

Y

 

1

.5 - 3.9

Redhat 7.0

No

658

500

500

17.9

500

27.8

21687

 

Y

 

1

1.5

Redhat 7.0

No

1.5

1000

1000

4.3

1000

228.9

436

 

Y

 

1

.7

Redhat 7.0

No

1.5

1000

10000

17

10000

587

1060

 

Y

 

1

.8

Redhat 7.0

No

658

1000

1000

35.2

1000

28.4

20672

 

Y

 

1

.6 = 5.6

Redhat 7.0

No

1.5

1025

1025

       

socket: Too many open files

       

 

 

 

 

OS

Kernel Tweaked?

Size HTML file (kB)

C - users Concurrency

N No requests

Time taken (sec)

Completed requests

Failed requests

Requests per second

Transfer Rate (Kb / sec)

Ab Errors?

Multi Times?

Mult-time AB error

Temp Zombies Produced?

Load Average

(includes AB)

FreeBSD 4.2

No

1.5

10

10

0.02

10

 

588

1057

 

Y

   

0

FreeBSD 4.2

No

1.5

10

100

.14

100

 

671

1314

 

Y

   

.15

FreeBSD 4.2

No

1.5

10

1000

         

Server timed out

     

.1

FreeBSD 4.2

No

1.5

10

10000

         

Server timed out

     

.1

FreeBSD 4.2

No

1.5

10

100000

         

Server timed out

       

FreeBSD 4.2

No

143

10

10

.08

10

 

119

17365

 

Y

   

.05

FreeBSD 4.2

No

143

10

100

.8

100

 

119

17490

 

Y

   

.06

FreeBSD 4.2

No

143

10

1000

         

Server timed out

       

FreeBSD 4.2

No

143

10

10000

         

Server timed out

       

FreeBSD 4.2

No

658

10

10

.35

10

 

27.8

18759

 

Y

   

.05

FreeBSD 4.2

No

658

10

100

3.5

100

 

28.22

19008

 

Y

   

.4

FreeBSD 4.2

No

658

10

1000

65

1000

 

15.3

10332

 

Y

   

.8

FreeBSD 4.2

No

1.5

150

150

.25

150

 

585.9

1052

 

6

Consol: looutput: mbuf allocation failed

AB: socket: No buffer space available

 

1

FreeBSD 4.2

No

1.5

150

1500

         

socket: No buffer space available

       

FreeBSD 4.2

No

1.5

150

5000

         

socket: No buffer space available

       

FreeBSD 4.2

No

143

150

5000

         

Consol: looutput: mbuf allocation failed

AB: Server timed out

       

FreeBSD 4.2

No

658

150

5000

         

Consol: looutput: mbuf allocation failed

AB: Server timed out

     

3

FreeBSD 4.2

No

1.5

250

250

.4

250

 

593

1067

 

3

Consol: looutput: mbuf allocation failed

AB: socket: No buffer space available

   

FreeBSD 4.2

No

1.5

250

2500

         

Server timed out

       

 

 

 

 

OS

Kernel Tweaked?

Size HTML file (kB)

C - users Concurrency

N No requests

Time taken (sec)

Completed requests

Failed requests

Requests per second

Transfer Rate (Kb / sec)

Ab Errors?

Multi Times?

Mult-time AB error

Temp Zombies Produced?

Load Average

(includes AB)

FreeBSD 4.2

Maxusers=512

1.5

10

10

.019

10

 

526

228.9

 

Y

   

.04

FreeBSD 4.2

Maxusers=512

1.5

10

100

.14

100

 

714

1283

 

Y

   

.01

FreeBSD 4.2

Maxusers=512

1.5

10

1000

1.44

1000

 

694

1257

 

Y

   

.12

FreeBSD 4.2

Maxusers=512

1.5

10

10000

14.1

10000

 

704

1265

 

Y

   

1

FreeBSD 4.2

Maxusers=512

1.5

10

100000

142.7

100000

 

700

1258

 

Y

   

1.8

FreeBSD 4.2

Maxusers=512

143

10

10

.085

10

 

117

17161

 

Y

   

.2

FreeBSD 4.2

Maxusers=512

143

10

100

.828

100

 

120

17617

 

Y

   

..35

FreeBSD 4.2

Maxusers=512

143

10

1000

8.306

1000

 

120

17562

 

Y

   

.57

FreeBSD 4.2

Maxusers=512

143

10

10000

83

10000

 

120

17574

 

Y

   

1.1

FreeBSD 4.2

Maxusers=512

658

10

10

.349

10

 

28.6

19296

 

Y

   

.01

FreeBSD 4.2

Maxusers=512

658

10

100

3.55

100

 

28.1

18922

 

Y

   

.16

FreeBSD 4.2

Maxusers=512

658

10

1000

35.4

1000

 

28.2

19000

 

Y

   

1

FreeBSD 4.2

Maxusers=512

1.5

150

150

.265

150

 

566

1044

 

Y

   

.4

FreeBSD 4.2

Maxusers=512

1.5

150

1500

2.208

1500

 

679

1225

 

Y

   

.5

FreeBSD 4.2

Maxusers=512

1.5

150

5000

7.5

5000

 

665

1215

 

Y

   

.7

FreeBSD 4.2

Maxusers=512

143

150

5000

48.73

5000

 

102

15223

 

Y

   

1.2fs

FreeBSD 4.2

Maxusers=512

658

150

5000

212

5000

 

23.5

15465

 

Y

   

1.6

FreeBSD 4.2

Maxusers=512

1.5

250

250

.41

250

 

596

1072

 

Y

   

.3

FreeBSD 4.2

Maxusers=512

1.5

250

2500

3.8

2500

 

655

1192

 

Y

   

.6

FreeBSD 4.2

Maxusers=512

658

250

250

12.5

250

 

19.8

15940

 

Y

   

.7

FreeBSD 4.2

Maxusers=512

1.5

500

500

.849

500

 

588

1062

 

Y

   

.05

FreeBSD 4.2

Maxusers=512

1.5

500

5000

7.54

5000

 

658

1197

 

Y

   

.5

FreeBSD 4.2

Maxusers=512

658

500

500

25.43

500

 

19.6

15804

 

Y

   

.8

FreeBSD 4.2

Maxusers=512

1.5

1000

1000

1.7

1000

 

570

1029

 

Y

   

.3

FreeBSD 4.2

Maxusers=512

1.5

1000

10000

14.9

10000

 

667

1203

 

Y

   

.8

FreeBSD 4.2

Maxusers=512

658

1000

1000

45

1000

 

22.7

15574

 

Y

   

1

FreeBSD 4.2

Maxusers=512

1.5

1025

1025

         

Test aborted after 10 failures: Address family not supported by protocol family

       

Some test runs that can be done with ab (apachebench)

Click here for zip file with: Small, Medium and Large HTML test files

Click here for tar.Z file with: Small, Medium and Large HTML test files

Click here for zip file with: Small, Medium and Large HTML test files

Click here for tar.Z file with: Small, Medium and Large HTML test files

c = Number of simultaneous users (Concurrency Level)
n = Number of request per user (the per user load)

LIGHT LOAD STATIC FILE (~1.5 kB file)

/usr/local/apache/bin/ab -n   10   -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  100   -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1000   -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 10000  -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 100000 -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 5000   -c 10 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  150   -c 150 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  500   -c 150 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1500   -c 150 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 5000   -c 150 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  250   -c 250 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  500   -c 250 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 2500   -c 250 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 5000   -c 250 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  300   -c 300 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n  500   -c 500 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1000   -c 500 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 5000   -c 500 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1000   -c 1000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 10000  -c 1000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1010   -c 1010 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1024   -c 1024 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1025   -c 1025 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1250   -c 1250 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 1500   -c 1500 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 2000   -c 2000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 20000  -c 2000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 5000   -c 5000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 50000  -c 5000 http://ccp14vig1.dl.ac.uk/small.html

/usr/local/apache/bin/ab -n 100000 -c 10000 http://ccp14vig1.dl.ac.uk/small.html

DECENT LOAD STATIC FILE (~140 kB file)

/usr/local/apache/bin/ab -n   10   -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  100   -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1000   -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 10000  -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 100000 -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 5000   -c 10 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  150   -c 150 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  500   -c 150 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1500   -c 150 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 5000   -c 150 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  250   -c 250 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  500   -c 250 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 2500   -c 250 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 5000   -c 250 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  300   -c 300 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n  500   -c 500 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1000   -c 500 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 5000   -c 500 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1000   -c 1000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 10000  -c 1000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1010   -c 1010 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1024   -c 1024 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1025   -c 1025 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1250   -c 1250 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 1500   -c 1500 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 2000   -c 2000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 20000  -c 2000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 5000   -c 5000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 50000  -c 5000 http://ccp14vig1.dl.ac.uk/medium.html

/usr/local/apache/bin/ab -n 100000 -c 10000 http://ccp14vig1.dl.ac.uk/medium.html


HEAVY LOAD STATIC FILE (~670 kB file)

/usr/local/apache/bin/ab -n   10   -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  100   -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1000   -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 10000  -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 100000 -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 5000   -c 10 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  150   -c 150 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  500   -c 150 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1500   -c 150 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 5000   -c 150 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  250   -c 250 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  500   -c 250 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 2500   -c 250 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 5000   -c 250 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  300   -c 300 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n  500   -c 500 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1000   -c 500 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 5000   -c 500 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1000   -c 1000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 10000  -c 1000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1010   -c 1010 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1024   -c 1024 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1025   -c 1025 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1250   -c 1250 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 1500   -c 1500 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 2000   -c 2000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 20000  -c 2000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 5000   -c 5000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 50000  -c 5000 http://ccp14vig1.dl.ac.uk/large.html

/usr/local/apache/bin/ab -n 100000 -c 10000 http://ccp14vig1.dl.ac.uk/large.html


[Apache, Redhat and FreeBSD comparison] | [Optimising FreeBSD for Apache and High Performance web serving]

[Back to Problems and Solutions]
[Back to: BSD UNIX Information for Crystallography] [To: Linux Information for Crystallography]

[CCP14 Home: (Frames | No Frames)]
CCP14 Mirrors: [UK] | [CA] | [US] | [AU]

(This Webpage Page in No Frames Mode)

If you have any queries or comments, please feel free to contact the CCP14