David,
I bet that you misconfigured the test. When using PolyMix-3,
you should not modify anything in workloads/include/ directory unless
you know very well what are doing. The polymix-3.pg file is all you
need to modify. Polygraph will do the rest.
http://www.measurement-factory.com/docs/PolyMix-3/
In short, you told a single robot to produce 400 requests per
second using at most 4 concurrent connections. Since each requests
takes a few seconds, it is impossible to do 400/sec with 4
connections. You also told the robot to queue requests if there are no
connections slots available. The robot start queuing requests (at a
rate of ~388/sec) and, eventually, ran out of RAM.
If left alone, PolyMix-3 workload files in the
workloads/include/ directory will compute appropriate number of robots
for a given request rate. In your case, Polygraph should create 1000
robots to support 400 req/sec rate.
Alex.
On Fri, 20 Apr 2001, Sun, Jian Yu (David) wrote:
> Dear Sir,
>
> i am seting up the webcache perfromance testing env in our lab, it's not
> easy =(
>
> Equipments: 4 DELL PCs,
> Intel P III 500MHz.
> 128M mem.
> 10GB IDE hard disk.
> 10/100M Ethernet.
>
> OS: freeBSD 4.0 with freeBSD release 3.3 tuning (
> http://polygraph.ircache.net/Tips/FreeBSD-3.3/ )
>
> Polygraph: version 2.5.4.
>
> i already passed the simple test. but when i runed one pair poly
> client/server with polymix-3 workloads, the polyclt core dump after testing
> started around 1.5 hr. attached is the stack list.
>
> i didn't use the aka and pmix-3-ips.pl to config polymix-3. following is the
> my configuration, ( the verible name is not precise. )
>
> in polymix-3.pg, i set
>
> peak request rate = 400/sec
> fill request rate=%50*peak request rate
> cache size=30GB
>
> in include/benches.pg, i set
>
> peak request rate = 400/sec
> client_ip_mask = [ 10.50.0.0 ]
> server_ip_mask = [ 10.50.0.0:80 ]
> client count = 1
>
> in include/polymix-3-guts.pg, i set
> client_ips = [ 10.50.5.16 ]
> server_ips = [ 10.50.131.2:80 ]
> (the 2 ip are real ip assigned to the 2 machine.)
>
> by the way, i have to set the system clock of the two machine as close as
> possible, or i meet Clock out of synchronize error. the error didn't get fix
> even i set and run ntpd. what's the reason.
>
> above is symptom, now i have questions for you.
> 1. how to fix the above problem?
> 2. do i need to move OS back to 3.3 to fix above problem.
> 3. i want to test cache with 800 req/sec, when i use all the 4 PCs, is that
> enough i just follow the
> http://www.measurement-factory.com/docs/FAQ/FAQ-4.html section 4.3 to config
> the ip address with aka?
> 4. how to set the 4 PCs' system clock as same one? (for clock out for sync
> issue.)
>
> thanks in advance.
> -david
>
> ===================attachment====================
> GNU gdb 4.18
> Copyright 1998 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-unknown-freebsd"...
> Core was generated by `polyclt'.
> Program terminated with signal 6, Abort trap.
> Reading symbols from /usr/lib/libstdc++.so.3...done.
> Reading symbols from /usr/lib/libm.so.2...done.
> Reading symbols from /usr/lib/libc.so.4...done.
> Reading symbols from /usr/libexec/ld-elf.so.1...done.
> #0 0x281b5030 in kill () from /usr/lib/libc.so.4
> (gdb) bt
> #0 0x281b5030 in kill () from /usr/lib/libc.so.4
> #1 0x281edf7e in abort () from /usr/lib/libc.so.4
> #2 0x80e70e3 in __default_terminate () at ./rndDistrs.cc:119
> #3 0x80e70f1 in __terminate () at ./rndDistrs.cc:119
> #4 0x80e72eb in __sjthrow () at ./rndDistrs.cc:119
> #5 0x80e4eb9 in __builtin_new () at ./rndDistrs.cc:119
> #6 0x80e897a in ObjFarm<CltXact>::gen (this=0x855bd80)
> at ../../src/runtime/Farm.h:57
> #7 0x80e8d60 in XactFarmT<CltXact, CltXact>::get (this=0x8557920)
> at ../../src/runtime/Farm.h:32
> #8 0x804daf1 in Client::genXact (this=0xaa5a400) at ./Client.cc:313
> #9 0x805065c in AsyncClt::wakeUp (this=0xaa5a400, a=@0x853080c)
> at ./AsyncClt.cc:37
> #10 0x80db242 in AlarmClock::ring (this=0x8112ec0) at ./AlarmClock.cc:23
> #11 0x80db77a in AlarmClock::update (this=0x8112ec0, curTime={<timeval> = {
> tv_sec = 987709018, tv_usec = 997916}, <No data fields>})
> at ./AlarmClock.cc:115
> #12 0x80dc089 in Clock::Update (advanceAll=true) at ./Clock.cc:52
> #13 0x80595f2 in PolyApp::step (this=0xbfbffa78) at ./PolyApp.cc:138
> #14 0x805c9cd in PolyApp::run (this=0xbfbffa78, argc=9, argv=0xbfbffb50)
> at ./PolyApp.cc:596
> #15 0x804af9c in main (argc=9, argv=0xbfbffb50) at ./PolyClt.cc:104
> (gdb) quit
>
>
This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:18 MDT