Anton Kirilov 588882b00b H2O: Switch to thread-local caches (#4798) 6 years ago
..
src 588882b00b H2O: Switch to thread-local caches (#4798) 6 years ago
template 29ef2fd38e H2O: Add implementation 9 years ago
CMakeLists.txt a8432f24e8 H2O: Further code clean-up (#4680) 6 years ago
README.md c8484dd4f6 H2O: Documentation changes and minor code fixes (#3915) 7 years ago
benchmark_config.json 23787ebcc6 H2O: Another batch of changes (#3670) 7 years ago
h2o.dockerfile d4c476177d Update H2O to version 2.2.5 (#4159) 7 years ago
start-servers.sh bdbaf049cd H2O: A couple of small changes (#4745) 6 years ago

README.md

h2o

This is a framework implementation using the H2O HTTP server. It builds directly on top of libh2o instead of running the standalone server.

Requirements

CMake, H2O, libpq, mustache-c, OpenSSL, YAJL

Performance tuning

If the test environment changes, it will probably be necessary to tune some of the framework settings in order to achieve the best performance possible. The most significant parameter is the maximum number of database connections per thread, which is controlled by the DB_CONN variable in the start-servers.sh script.

Performance issues

Database tests

libpq does not support command pipelining, and implementing anything equivalent on top of it conflicts with the requirements.

Database updates

In the Citrine environment the database connection settings that improve the performance on the updates test make the other database results worse, and vice versa.

Plaintext

libh2o performs at least one system call per pipelined response.

Contact

Anton Kirilov [email protected]