TPH (Transactions Per Hour) es una métrica de rendimiento fundamental que cuantifica la capacidad de un sistema para procesar un volumen de transacciones en un período de una hora. Una transacción, en este contexto, se refiere a una unidad lógica de trabajo que puede implicar múltiples operaciones de lectura y escritura, pero que se ejecuta de forma atómica, consistente, aislada y duradera (ACID). TPH es crucial para evaluar el rendimiento bajo carga y la escalabilidad de sistemas que manejan operaciones transaccionales, como bases de datos relacionales, sistemas de procesamiento de transacciones en línea (OLTP) y plataformas de comercio electrónico. A diferencia de métricas de bajo nivel como IOPS o latencia, TPH ofrece una visión de alto nivel del throughput transaccional del sistema.
La métrica TPH se utiliza ampliamente en benchmarks estándar de la industria para evaluar el rendimiento de sistemas de bases de datos y hardware. Un ejemplo prominente es el TPC-C (Transaction Processing Performance Council Benchmark C), que simula un entorno de procesamiento de pedidos y almacenes, midiendo el TPH de nuevas órdenes de clientes. Este benchmark es fundamental para comparar el rendimiento de diferentes sistemas de gestión de bases de datos (DBMS) como Oracle Database, Microsoft SQL Server, PostgreSQL o MySQL, así como la infraestructura de hardware subyacente. Otros sistemas, como plataformas de pago o sistemas de gestión de inventario, también utilizan variaciones de TPH para dimensionar su capacidad y asegurar que pueden manejar picos de demanda.
Para un arquitecto de sistemas, TPH es una métrica crítica para la toma de decisiones estratégicas. Permite dimensionar correctamente la infraestructura, planificar la capacidad y evaluar la escalabilidad horizontal y vertical de las soluciones. Un TPH bajo puede indicar cuellos de botella en la base de datos, la red, el almacenamiento o la lógica de la aplicación. Al diseñar sistemas, el arquitecto debe considerar el TPH objetivo y cómo las elecciones de diseño (esquemas de base de datos, patrones de concurrencia, estrategias de sharding, tipos de almacenamiento) impactan esta métrica. Los trade-offs incluyen la consistencia (por ejemplo, consistencia fuerte vs. eventual), la complejidad de la lógica transaccional y el costo de la infraestructura. Optimizar el TPH a menudo implica equilibrar la latencia individual de las transacciones con el throughput general del sistema, asegurando que se cumplan los SLAs y los requisitos de rendimiento del negocio.