diff options
Diffstat (limited to 'libeufin/performance.rst')
-rw-r--r-- | libeufin/performance.rst | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/libeufin/performance.rst b/libeufin/performance.rst deleted file mode 100644 index a0af25a8..00000000 --- a/libeufin/performance.rst +++ /dev/null @@ -1,114 +0,0 @@ -Performance demonstrators -######################### - -This document explains how to prove the following performance -requirements implemented in LibEuFin. - -1. Long-polling offered by Nexus to the Exchange Wirewatch. -2. Reduced usage of disk space by the database. -3. PostgreSQL short-lived database sessions. -4. Participation in the Taler benchmark. - -It is worth noting that point 2 and 3 will be proved *via* -point 4. In particular, because the benchmark is a resource -demanding activity, its impact on the database should be -enough to reflect a worst case scenario with regard to points -2 and 3. - -The following two sections will describe how to run -`point 1 <Long-polling>`_, and `points 2, 3, 4 <Benchmark>`_ -altogether. - -Long-polling -^^^^^^^^^^^^ - -This demonstrator is a Docker image that installs LibEuFin -and registers one user at both Sandbox and Nexus. The Nexus -user is set up to use the Taler Wire Gateway, to let ``curl`` -emulate the Taler exchange (wire-watch). - -To run the demonstrator, clone the following repository: - -.. code-block:: shell-session - - git://git.taler.net/deployment - -and build the Docker image: - -.. code-block:: shell-session - - $ cd deployment/nlnet/task5/long-poll - $ docker build -t long-poller . - -Start the ``long-poller`` image and wait after the installation -and configuration complete. The completion should end with a message -starting by ``Services are online!``. At this point, it is possible -to request Taler incoming payments and observe how such request returns -**only after** we manually send Taler money to the long-polling client. - -Give the following command to request Taler incoming payment -with the long-polling feature: - -.. code-block:: shell-session - - $ curl -v -u test-user:x 'http://localhost:5001/facades/test-facade/taler-wire-gateway/history/incoming?delta=5&long_poll_ms=100000' - -After having observed that the previous command *actually* -long-polls, send it to the background by pressing CTRL-Z. Send -now a Taler payment to ``test-user`` with the following command. - -.. code-block:: shell-session - - $ wire_transfer - -Bring now the ``curl`` process again in the foreground, and if -it got the payment, now it shows the payment data. - -Benchmark -^^^^^^^^^ - -This demonstrator runs the Taler benchmark that relies on LibEuFin. - -Clone the following repository: - -.. code-block:: shell-session - - git://git.taler.net/deployment - -and build the Docker image: - -.. code-block:: shell-session - - $ cd deployment/nlnet/task5/benchmark - $ docker build -t benchmark . - -Run the ``benchmark`` image and wait for its completion. At this -point, the demonstrator prints the benchmark result regarding all -the components, and lastly the database disk usage and the LibEuFin -database session(s) duration(s). - -The database disk usage is complessive, therefore it shows how all -the services occupy database disk space. Hence if this quantity is -acceptable, then also LibEuFin's share is. - -On the other hand, the database session duration concerns only LibEuFin, -and compares the *longest* database session with the whole benchmark -duration. In particular, it shows what percentage of the whole benchmark -duration is represented by the longest LibEuFin session. Therefore -'low' percentages mean 'short' database sessions, as it is requested -in point 3. - -.. - Clone the following repository: - - .. code-block:: shell-session - - git://git.taler.net/deployment - - and build the Docker image: - - .. code-block:: shell-session - - $ cd deployment/nlnet/task5/date-range - $ docker build -t date-range . - |