Home · Search · Print · Help
Upgrade Notes
This page documents upgrading caveats for users that switch from the (old)
version 2.7.6 to (new) version 2.8.0. Please look elsewhere for help with selecting the right release
for your task.
Information on this page is based on comparison between old and new
workload files that are distributed with Web Polygraph and on real user
experiences. Please let us know if you run into any
important undocumented caveats.
1. HTTP versions
Old Polygraph agents always used HTTP/1.0 in request start lines and
response status lines (while supporting most of the HTTP/1.1 features such
as persistent connections). With an addition of chunked transfer-coding
support, new agents use HTTP/1.1 by default. Old standard workloads have
been adjusted to overwrite that default.
New agents can emit a configurable mix of HTTP/1.0 and HTTP/1.1
responses. See Agent's
http_versions selector.
Server S = {
...
http_versions = [ "1.0": 10%, "1.1" ];
};
Robot R = {
...
http_versions = [ "1.0": 30%, "1.1" ];
};
Note that declared agent version does not affect default setting for
persistent connections (which is to use no persistent connections). There
is probably no simple/general enough default that we could use for
HTTP/1.1 so we decided to stick with the simple and one-for-all
no-persistency default. Agent version may affect connection management on
the device under test.
2. Robot interests
The public_interest field of a Robot PGL type got replaced
with a more general interests field. Please see fields documentation for
details.
Robot R = {
...
// public_interest = 75%;
interests = [ "public": 75%, "private" ];
};
2.1 Phase synchronization
Due to phase synchronization algorithm changes, it is not possible
to have no public interest and phase synchronization at the same time.
Phase synchronization algorithm does not get a chance to work and your
test gets stuck in the first phase requiring synchronization, even if
you have just one client and server process. Polygraph does not know
about this limitation and, hence, does not warn you.
You probably need phase synchronization so it is enabled by
default. If you do not need phase synchronization, and your robots
have no public interests, disable phase synchronization. Specifying
little (e.g., 1%) public interest helps in other cases. Standard
workloads use relatively large public interest (e.g., 50%) so they are
not affected by this caveat.
It should be sufficient for at least one active Robot in each
polyclt process to have positive public interest.
Home · Search · Print · Help
|