Poly 2.2.5

From: Alex Rousskov (rousskov@ircache.net)
Date: Mon Nov 29 1999 - 00:43:47 MST


Hi there,

    Web Polygraph 2.2.5 is available. The change log is attached.
        http://polygraph.ircache.net/sources/

    This release includes mostly bug fixes and configuration
improvements. A few optimizations should make Polygraph more robust in
large scale tests that some of you are running.

    As was requested on this mailing list, we also added initial
support for phase-dependent recurrence ratio which is essential for the
reverse proxy testing (WebAxe workload). It should be possible to model
WebAxe-1 now, and we will be working on its formal definition. Comments
are welcome, as always.

    Based on the second bake-off registrations, the majority of vendors
has not tried PolyMix-2 workload yet. This probably means two things:
(a) those who were working with PolyMix-2 for the past two month may
have a "fair advantage" and (b) I would expect more compatibility
problems and bugs to be found. We are, however, getting more reluctant
to modify this branch of Polygraph and would encourage to report bugs
sooner rather than just before the bake-off. :)

    Finally, we hope to post our WAN emulation (DummyNet) results
and other workload related questions within 24 hours.

Alex.

---------- change log -------------
2.2.4 -> 2.2.5
19991129
    - added "idle_pconn_tout" field to Agent to specify the maximum
      time an idle (no pending transactions) persistent connection
      should remain open (PGL)
    - support phase-dependent recurrence ratio; useful for populating
      the cache (fast, with only a few hits) and then doing
      measurement phase with appropriate hit ratio, all in one run
    - added "recur_factor" field to Phase (PGL)
    - added support for priority scheduling: Polygraph runs (N-1) file
      scans for file descriptors (connections) that require urgent
      action and then one scan for all file descriptors; N is
      configurable using the --priority_sched option
    - added "--priority_sched" option to control priority level for
      somewhat urgent socket I/O operations; giving higher priority to
      some operations may improve performance in environments with
      lots of probably idle connections as Polygraph will spend less
      time processing those connections; "over-optimized" setting are
      likely to cause noticeable increase in response time; the
      default priority is 5; to disable the optimization, set to 1
    - added support for assigning the same value to several variables
      with one assignment operator (PGL): [ a1, a2, a3 ] = 100%;
    - added support for randomly distributing values of an array among
      several arrays, each with an optional "portion" quantifier; for
      example:
            [ arr1 : 60%, arr2 : 20%, arr3 ] = '10.0.1.1-255';
      this feature is very convenient when distributing network
      addresses among several objects (e.g., servers or pipes) (PGL)
    - grow storage area for new oids when clients start to run out of
      them (to make prefetching more aggressive)
    - optimized initial server scan (when robots are "touching" all
      servers to make sure robots can later generate hits on every
      server); the scan is now much faster and has more random access
      pattern
    - added reporting of server scan progress
    - "lock" first phase until all robots are ready to hit all servers
    - when an advertised oid has not been requested for a while, see
      if we should grow the bitmap to store more oids (and hence keep
      an oid for a longer time) instead of reclaiming that stuck oid
    - changed default for "--new_oids_prefetch" from 256 to 128
      because Polygraph is not capable of dynamically adjusting
      prefetch amount
    - if load factor reaches zero, stop submitting requests
    - check for late alarms and other timers and report if we are
      getting behind the schedule
    - server now accepts new connections for at most 10msec at a time
    - do not quit when running out of file descriptors in accept()
      call
    - destroy PGL objects after use to reduce memory footprint for
      large scale configurations
    - use idle_pconn_tout of 15 seconds for PolyMix-2 servers
    - changed Robot.open_conn_lmt to 4 in polymix-2.pg
    - polished phase definitions in polymix-2.pg
    - check for error status when deleting rules and pipes (piper)
    - re-ordered screens in polymon
    - resurrected err_cnt_tbl in lx
    - the "--phase" option was not supported for non-traceable objects
      (lx)
    - fixed introduced in 2.2.4 typo that made servers "blocking" and
      hence unusable (they would get stuck in the accept(2) call);
      client-side sockets were also affected but that was not visible
      to an end-user because blocking robots may still work; the patch
      was posted to the Polygraph list
    - portability star, ncurses, #defines timeout causing namespace
      havoc
    - bad guys #defined `select' in Solaris system files causing
      namespace havoc
    - I/O buffer pool was not reporting memory growth correctly (err..
      at all)
    - prevent coredumps when printing a histogram with max value less
      than 1 (lx)
    - True64 requires a special setsysinfo(2) call to raise FD limit
      beyond the default hard limit of 4K



This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:09 MDT