Dynamic Book
- Publié dans :
- FirebirdSQL
- Blazor
- UDR
C’est un développement initié par TetraSys Oy avec l’objectif de développer une nouvelle solution organisée autour de Blazor, Oxygène (Rem Objects), FirebirdSQL & Lucene_UDR en traduisant l’excellent travail de « Denis Simonov » titré « guide du langage FirebirdSQL 5.0 Alpha » au format AsciiDoc que nous avons commencé à traduire en français.
Le travail de Denis Simonov et tous les autres contributeurs est impressionnant, plus de 900 pages techniques que nous avons découpés en section par sujet visible par exemples les tables systèmes comme un gros pense bête :-) , comme vous pouvez le constater ci dessous
Le développement est articulé sur base d’un serveur Rocky Linux version 9 au format VM 2 corps permettant la compilation des sources de FirebirdSQL 5 initial, de LuceneC++ ainsi que le projet Lucene_UDR. Ce choix permet de rester le plus léger possible au niveau des ressources serveur et du transport en HTTP3/Quic via NGINX (également compilé pour ce faire).
Le choix de travailler avec la techno fournie par Blazor serveur complète l’ensemble, permettant de réduire le transport des données au plus strict minimum via WebSocket en UDP.
Ce développement est parti sur le principe de trouver le meilleur l’équilibre entre les ressources/vitesse/résultat possible avec le matériel suivant :
OS: Rocky Linux 9.0 (Blue Onyx) x86_64
Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-5.2)
Kernel: 5.14.0-70.22.1.el9_0.x86_64
CPU: AMD EPYC 7282 (4) @ 2.794GHz
Memory: 426MiB / 7684MiB
FirebirdSQL Server Version: LI-T5.0.0.681 Firebird 5.0 Initial
.NET SDK Version: 6.0.108 Commit: 4e3a463d2b
RemObjects Oxygene : 11.0.0.2763
Microsoft Visual Studio Community 2022 (64-bit) – Preview Version 17.4.0 1.0
La seul contrainte observée sur tout le processus est de minimisé l’empreinte de l’application au maximum et de bannir toute librairie, souvent inutile, a charger par page ou en cache client.
L’application, avec son système d’exploitation n’occupe que 460M et 4 à 6% des corps processeur en charge.
Le temps de réponse d’une page moyenne est de 420ms pour 29kb de données
Le temps moyen d’une réponse à une recherche avec Lucene_UDR est de 4 à 10 millièmes de seconde