On Thu, 5 Jul 2001, Simon Patarin wrote:
> I would like to use polygraph to measure the performance of a Web
> notification system. More explicitely, "clients" (that may be
> caching or mirroring softwares) subscribe to the notification
> system in order to be notified asynchronously when some specific
> documents change. On the server side, a monitor pushes
> notifications to the system whenever it detects that a subscribed
> document has changed.
>
> I am dealing with the monitoring part and I was wondering whether
> it was possible, for an external program, to determine exactly at
> which time a document would be considered modified by a polygraph
> Web server (for some specific, known, benchmark configuration, of
> course).
It is possible to emulate Polygraph object life cycle module outside
of Polygraph: User-level OLC concepts are documented and source code
is available to duplicate the internal logic. However, I think it
would be a difficult and time-consuming project. Even if you mimic all
the required algorithms, you end up chasing whatever related
modifications we make in future versions of Polygraph and duplicating
those changes in your programs.
I would suggest several options:
0) You can configure Polygraph servers to emit correct HTTP Expires:
headers. That is, an Expire header attached to the object will
contain the next modification time. Unfortunately, this may defeat the
purpose of your test because the caches or mirroring software would
use that header and would not need any notification messages.
However, we can teach Polygraph servers to emit a custom expiration
header (e.g., "X-Expires") that only your notification system
software would understand. I do not know whether you can have
something in the middle of the response stream that intercepts
Polygraph responses and extracts required information.
1) Teach Polygraph servers to emit notification messages. We already
have similar capabilities on the client-side: robots can emit
"session" or login/out notification messages for authentication and
accounting testing (e.g. RADIUS). We can teach servers to implement
[part of] your notification system.
2) We can implement a C++ library that you can link with your programs.
Given a PGL configuration, seeds for random generation, and a
Polygraph-specific URL, the library would be able to tell you OLC
parameters for the URL.
I do not know enough about your requirements to recommend one option
over the others. Please contact me off-list if either approach seems
reasonable and/or let me know your preferences/requirements.
Thanks,
Alex.
This archive was generated by hypermail 2b29 : Tue Jul 10 2001 - 12:00:20 MDT