XML Database Benchmark:

"Transaction Processing over XML (TPoX)"



TPoX Home






Workload Driver






Project Site


SourceForge.net Logo

New TPoX 2.1 released ! (Download).


Transaction Processing over XML (TPoX) is an application-level XML database benchmark 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. (Overview paper)


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.


TPoX simulates a security trading scenario and uses a real-world XML Schema (FIXML) to model some of its data. TPoX is purposefully simplified, yet still realistic in terms of documents, transactions, and usage of XML Schemas.


TPoX is very flexible and extensible. The data distributions, transactions, workload composition, data and multi-user scaling, commit frequencies, think times, etc. are all configurable. With specific settings we propose a reference workload in the first version of TPoX. But, any parameter can be changed and different transactions can be run over the same or modified data. This makes TPoX a versatile performance test harness for XML databases.


We welcome any feedback or contributions to extend and refine the benchmark. You can use forums, email, or connect to the TPoX SVN. Possible contributions include but are not limited to:

  • Additional queries
  • New workloads, i.e. new query/transaction mixes on the existing data, e.g. an analytical workload
  • Enhancements to the data generation
  • Query syntax adjusted to your favorite database system or XQuery engine
  • Enhancements to the workload driver code, e.g. a class to connect the driver to your favorite database
  • TPoX benchmark results


Matthias Nicola, mnicola@us.ibm.com

Agustin Gonzalez, agustin.gonzalez@intel.com

Rekha Raghu, rekha.raghu@intel.com

Ying Zhang, ying.m.zhang@intel.com

Irina Kogan, irina.kogan@gmx.net

Mike Liu, mike.zhiyue.liu@gmail.com

Berni Schiefer, schiefer@ca.ibm.com

Guangjun (Kevin) Xie, kxie@ca.ibm.com

Peter Shum, shum@ca.ibm.com

Andreas Fichter, andyfichter@gmail.com

Martin Sommerlandt, msommerl@us.ibm.com