gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]