TPoX, which is actually short for Transaction Processing over XML was built as an application-level XML database benchmark. TPoX is based on a financial application scenario.
It is used to evaluate the performance of XML database systems, focusing on XQuery, SQL/XML, XML storage, XML indexing, XML Schema support, XML updates, logging, concurrency and other database aspects.
TPoX consists of the following parts:
· A toolset for XML data generation to efficiently generate millions of XML documents with well-defined value distributions and referential consistency across documents.
· XML Schemas for all document types used in the benchmark.
· A set of transactions to be run on the generated data. This includes queries in XQuery and SQL/XML notation as well as insert, update and delete operations.
· A workload driver which spawns 1 to n parallel threads that simulate concurrent database users. Each user connects to the database and submits a mix of transactions. The transactions are picked randomly from a set of transaction templates. At run time, parameter markers in the templates are replaced by actual values drawn from configurable random value distributions. The workload driver collects and reports performance metrics, such as min/max/avg response time and overall throughput.
· Documentation for all of the above-mentioned pieces.
Requirements:
· Java
What's New in This Release: [ read full changelog ]
Workloads and their Parameters:
· Since TPoX 1.0, workloads can be parameterized, i.e. transactions use
· parameter markers that at run-time are filled with actual values. These
· are usually random values drawn from a specified range. In TPoX 2.1,
new parameter types are available:
· A new parameter type called has been introduced.
· For example, the parameter
· produces uniformly distributed random dates between July 1, 2009
· and August 31, 2009.
· A new parameter type called has been introduced.
· For example, the parameter
· produces uniformly distributed random timstamps between
· .00.00.000000 and 2009-08-31-23.59.59.999999
· A new parameter type called has been introduced.
· For example, the parameter
· produces uniformly distributed random timestamps between
· .00.00 and 2010-06-20-18.00.00.
· A new parameter type called has been introduced.
· While the existing parameter type picks values *randomlyfrom
· the specified input file, a parameter uses input values in
· the sequential order in which...