Web Polygraph
Documentation
Reference Manual
User Manual
Getting started
Simple tests
Addresses
Using DNS
Content simulation
Compression
Authentication
POST/PUT
Ranges
· Content-driven Robots
For the impatient
Introduction
Configuration
Trace replay
Watchdogs
From access logs
Recycling tests
Reporting
Troubleshooting
Workloads
Downloads
Copyright
Changes
Upgrade
Support
Wish List
Sponsors
Mailing List
Users
Miscellaneous
Results
Compliance
Other Tools
Search
| | |
Home · Search · Print · Help
Content-driven Robots
This page documents Content-driven Robots. This functionality is
supported starting with Polygraph v4.3.0.
Table of Contents
1. For the impatient
2. Introduction
3. Configuration
1. For the impatient
Content content1 = {
client_behavior = {
req_types = ["Basic": 70%, "Range": 10%, "Upload"];
req_methods = ["GET": 80%, "HEAD", "POST"];
ranges = [ range1, range2: 10%, range3 ];
recurrence = 20%;
};
...
};
... then make your Robot(s) use Server(s) that have content1 ...
2. Introduction
Polygraph Robot configurations have many properties that control
what kind of requests to send. But in the real world, HTTP client
behavior often depends on the web site content. For example, a web
surfer may never revisit huge, static movie downloads but often come
back to a collection of smaller, often updated images.
Content-driven Robots feature helps simulate those dependencies.
3. Configuration
Content-driven Robot properties are configured using PGL ClientBehavior
type and Content
client_behavior field. That field controls Robot behavior
when the Robot requests objects of the corresponding "content type".
When a Robot is making a request, it selects the content type before
many other request properties. The Robot then uses
Content.client_behavior fields, falling back to the Robot
own properties for missing parameters.
The following example illustrates how to configure a Robot
to make different request types for different objects:
// Only IMS GET and POST requests.
Content content1 = {
client_behavior.req_types = ["IMS"];
client_behavior.req_methods = ["GET": 80%, "POST"];
};
// Small number of Range requests and low recurrence.
Content content2 = {
client_behavior.req_types = ["Basic", "Range": 1%];
client_behavior.ranges = [ range1, range2: 10%, range3 ];
client_behavior.recurrence = 10%;
}
// No content-driven properties.
Content content3;
Server S = {
contents = [ content1, content2, content3 ];
};
Robot R = {
recurrence = 50%; // used for content1 and content3
post_contents = [ content3 ]; // required for content1
req_methods = [ "HEAD" ]; // used for content3
};
ClientBehavior fields are a subset of Robot PGL type.
But not all Robot fields are available in the
ClientBehavior PGL type. See ClientBehavior PGL
reference for the list of currently supported content-driven Robot
properties.
Home · Search · Print · Help
|