[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-docs] 01/02: Starting the LibEuFin performance tutorial.
From: |
gnunet |
Subject: |
[taler-docs] 01/02: Starting the LibEuFin performance tutorial. |
Date: |
Fri, 04 Aug 2023 22:20:42 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository docs.
commit 5d3a1b0116f439f9ff9601a58cc293be31ea6cf7
Author: MS <ms@taler.net>
AuthorDate: Wed Aug 2 18:29:20 2023 +0200
Starting the LibEuFin performance tutorial.
---
libeufin/performance.rst | 114 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 114 insertions(+)
diff --git a/libeufin/performance.rst b/libeufin/performance.rst
new file mode 100644
index 00000000..16830148
--- /dev/null
+++ b/libeufin/performance.rst
@@ -0,0 +1,114 @@
+This document explains how to prove the following performance
+aspects that involve LibEuFin.
+
+1. Long-polling offered by Nexus to the Exchange Wirewatch.
+2. Reduced database usage of disk space.
+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*
+the 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 rerd 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, so that they
+can emulate the client side of a 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 information itself
+(without mentioning LibEuFin) and the information concerning the
+database disk usage and the database session duration.
+
+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 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.
+
+
+.. TDB: should another tutorial for time-framed
+ bank history be written? That doesn't really
+ fit in any larger context, but it is rather an
+ isolated feature.
+
+..
+ 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 .
+
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.