Thought this may help a few people, as I spent quite a bit of time
working through the issues in getting this working. This is the compilation
of my notes on how to get it working - there may be steps in here that are
unnecessary, but I haven't had enough time to track them down. I'm
relatively new to Linux (Mostly an NT guy who knows some general Unix) and
would greatly appreciate any feedback. I also haven't done any verification
of the statistics generated by Polygraph in this configuration - my main
interest in the tool so far has been to generate large numbers of http
sessions from as many distinct IP addresses as possible.
Setup Linux PCs
Make sure G++ and gmake are installed on your linux box, as well as
the kernel source code.
I used Redhat Linux 6.1 (kernel 2.2.12-20) which does not _require_
recompiling of the kernel if you can run the utility as root.
My test PCs are Celeron 466Mhz w/ 64MB RAM. I am using the Intel
ProManage 100+ Ethernet card. Memory seems fine at 64MB, but the processor
is pegged most of the time on both boxes.
Get Web Polygraph:
Download the Source files from http://polygraph.ircache.net/sources/
(v2.2.5 is what I have working).
gunzip and untar the source code
Raise maximum # of file descriptors for 2.2.12-20 kernel
edit /usr/include/linux/fs.h so that INR_OPEN and NR_OPEN are higher
than 1024 (I used 65536, lots of people on the mailing list use 16384)
edit /usr/include/linux/limits.h so NR_OPEN is the same as the
edit /usr/include/bits/types.h so FD_SETSIZE is the same as NR_OPEN
As root in the shell you are going to compile Polygraph in, type
"ulimit -HSn ######" where #### is the same as NR_OPEN above
type "echo ####### > /proc/sys/fs/file-max" where ##### is the same
as NR_OPEN above
Configure the distribution
In the /installpath/polygraph directory, run ./configure
You should see the maximum number of file descriptors
listed, if it is not the same as NR_OPEN above, double-check your work.
run "gmake all" to build the utility. polyclt and polysrv as in the
Add IP aliases
read /etc/sysconfig/network-scripts/ifup-aliases to learn about
limitations of the aliases scripts. Remember, keep each range file within a
single 24bit subnet mask range
create /etc/sysconfig/network-scripts/ifcfg-eth0-range0 text file
with to setup aliases. I have used 6 ranges, with 250 IP addresses in each
range successfully for a total of 1500 client IP addresses.
run "./ifup-aliases eth0" from the /etc/sysconfig/network-scripts
edit the workload file and replace the IP address for the robots
with a comma delimited list of ranges:
Be sure to increase the number of IPs for the servers also. 1500
robots banging on one one polysrv thread doesn't work...
Run the workloads
I've got 1500 robots (1pc) requesting from 1500 servers (1pc)
working ok in the lab with the simple.pg script and a smaller 1Byte content
size, but occaisionally get "dst cache overflow" error on the server
console. Not sure what this means. Smaller numbers of servers (245) don't
generate any errors at all.
Tash Hepting 408-579-2934
SQA Department firstname.lastname@example.org
Extreme Networks http://www.extremenetworks.com
This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:10 MDT