W3C HTTP Performance

Simple Test of Amount of System calls in Jigsaw

These are some notes on how HTTP/1.1 affects the system overhead in Web applications compared to HTTP/1.0. The measurements were taking using truss on Solaris 2.5 with Java 1.1.1. The results are listed below. The test was run gainst the microscape site which is expmained in the paper "Network Performance Effects of HTTP/1.1, CSS1, and PNG" (1 HTML and 43 GIFS)

Note that the number of stat calls is higher when using Netscape than using the Libwww robot as Netscape tends to download repeated images multiple times. The elapsed time was how long truss was running and not how long the download took. The amount of read calls and context calls differs significantly between the robot and Netscape's browsers - especially the Communicator seems to be bad at this.

What is interesting is that the number of write calls also is significantly lower. The reason for this is that the persistent connection allows Jigsaw to buffer its output better than when using multiple connections.

I assume that the errors column in the tables below is when a system call returns something different from 0.

No offence against NS's browsers - I could have picked any other HTTP/1.0 browser!

Libwww HTTP/1.1 Robot with Pipelining

	syscall      seconds   calls  errors
 	read             .00     104      1
 	write            .02      45      8
 	open             .00      44
 	close            .00      44
 	stat             .00      43
 	pause            .00      20     20
 	access           .02      43
 	ioctl            .02     183    129
 	fcntl            .00      92
 	getmsg           .00      14     12
 	poll             .00      12
 	sigprocmask      .01     184
 	context          .03     617
 	setitimer        .00      55
 	                ----     ---    ---
 	sys totals:      .10    1500    170
 	usr time:        .62
 	elapsed:       11.37 
 

Netscape 3.01 (Navigator)

	syscall      seconds   calls  errors
 	read             .00     333    187
 	write            .02      63      3
 	open             .01      49
 	close            .00      45
 	stat             .00      45
 	pause            .00      62     62
 	access           .01      45
 	ioctl            .02     224    135
 	fcntl            .00     114
 	getmsg           .00      61     53
 	poll             .00      54
 	sigprocmask      .00     218
 	context          .10    1115
 	setitimer        .00      78 
 	                ----     ---    ---
 	sys totals:      .16    2506    440
 	usr time:        .82
 	elapsed:       13.13 
 

Netscape 4.05 (Communicator)

	syscall      seconds   calls  errors
 	read             .03     465    325
 	write            .01      67      6
 	open             .00      45
 	close            .00      43
 	stat             .00      43
 	pause            .00      23     23
 	access           .00      43
 	ioctl            .00     194    129
 	fcntl            .00      98
 	getmsg           .00      53     49
 	poll             .00      50
 	sigprocmask      .02     204
 	context          .20    3598
 	setitimer        .00      51 
 	                ----     ---    ---
 	sys totals:      .26    4977    532
 	usr time:        .75
 	elapsed:        5.04 
 


Henrik Frystyk Nielsen,
@(#) $Id: SysCalls.html,v 1.4 1997/08/09 17:56:11 fillault Exp $