mirror of
https://salsa.debian.org/ha-team/libqb
synced 2026-08-17 16:18:17 +00:00
Using years-old benchmark attached to PostreSQL ML[1], I've observed tiny bit more than double boost in speed when using fdatasync instead of traditional fsync, on two Linux machines, each equipped with an SSD. While the observation may be disputable (there are various interpretations to what "synchronized I/O" actually means), by logical extension of what the two are supposed to do, one can expect fdatasync will perform no worse than fsync. Having the timestamps correct is really not a priority, compared to timely processing of the message stream. So let's use it whenever possible with QB_LOG_CONF_FILE_SYNC requested. As an aside, PostreSQL seems to be be using "fdatasync" method of updating out to disk by default on Linux till today[2]. [1] https://www.postgresql.org/message-id/1095055866.414539fadb90d@webmail.rawbw.com https://www.postgresql.org/message-id/attachment/20659/syncbench.c [2] https://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-WAL-SYNC-METHOD Signed-off-by: Jan Pokorný <jpokorny@redhat.com> |
||
|---|---|---|
| .tito | ||
| build-aux | ||
| docs | ||
| examples | ||
| include | ||
| lib | ||
| m4 | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .tito.spec.tmpl | ||
| .travis.yml | ||
| autogen.sh | ||
| check | ||
| coding_style.txt | ||
| configure.ac | ||
| COPYING | ||
| INSTALL | ||
| libqb.spec.in | ||
| Lindent | ||
| Makefile.am | ||
| README.markdown | ||
libqb
What is libqb?
libqb is a library with the primary purpose of providing high-performance, reusable features for client-server architecture, such as logging, tracing, inter-process communication (IPC), and polling.
libqb is not intended to be an all-encompassing library, but instead provide focused APIs that are highly tuned for maximum performance for client-server applications.
For more information, see:
-
You can build it yourself with the following commands:
$ make doxygen $ firefox ./doc/html/index.html
Dependencies
- glib-2.0-devel (If you want to build the glib example code)
- check-devel (If you want to run the tests)
- doxygen and graphviz (If you want to build the doxygen man pages or html manual)
Source Control (GIT)
git clone git://github.com/ClusterLabs/libqb.git
Installing from source
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
How you can help
If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project.
- Test and report issues.
- Help others on the developers@clusterlabs.org mailing list.
- Contribute documentation, examples and test cases.
- Contribute patches.
- Spread the word.

