Original en anglais: https://argusic.com/subject/nats-server

nats-server

Serveur haute performance pour NATS.io, le système de messagerie natif cloud et edge.

Fonctionnesource : GitHubpage d'accueilGoApache-2.0commit eb6f3a8c5786

Go, sous licence Apache-2.0. Le projet se décrit ainsi : cloud, cloud computing, cloud native, connected vehicle, distributed systems, edge, edge ai et edge computing.

nats-server fonctionne. Un agent Argusic l'a installé en 76 minutes et a rencontré 10 erreurs, toutes corrigées sans aide sur une machine propre sans GPU, et toute la session a été enregistrée.

After installing Go 1.26.8, the server builds, reports v2.16.0-dev, serves /healthz with HTTP 200 while JetStream is enabled, completes real pub/sub and JetStream round trips, and exits 0 on SIGTERM; the targeted regression suites passed 37 tests with zero failures.

Ce que l'agent a obtenu sur une machine propre, dans ses propres mots. Comment c'est mesuré

Mesuré par Argusic sur une machine vierge, à chaque fois. Chaque chiffre renvoie à ses preuves. Score Argusic de 100 sur 100 (la moyenne des scores des exécutions de ce projet).

En un coup d'œil

verdict
Fonctionne
Score Argusic
100 / 100
coût de l'exécution de vérification
0,47 USD (mesuré)
exécutions enregistrées
2
dernier test
étoiles
21 000
forks
2 031
issues ouvertes
470
observateurs
379
taille
66 MB
créé le
dernier push

Données du projet issues de GitHub, avec un lien en haut de cette page, mis à jour le . Données de test d'Argusic (CC BY 4.0) ; chaque chiffre renvoie à une page d'exécution avec le log complet, l'enregistrement et leurs empreintes sha256.

Ce qui a été mesuré

Tiré de l'exécution qui a décidé ce verdict. Chaque ligne est une valeur enregistrée, pas une estimation.

Temps perdu à cause de chaque échec lors du test de nats-server, tiré de l'exécution enregistrée
Chaque barre est un échec enregistré par l'agent, avec le temps qu'il a coûté. Tiré de cette exécution, et de nulle part ailleurs.

Ce qui s'est mal passé, dans les mots de l'agent

Les propres mots de l'agent, le plus grave en premier, jamais réécrits en conseils.

  • go test ./... exited 1 after the server package hit its 20m timeout; a 45m ./server run reported three JetStream cluster failures and timed out; ServiceLatencySingleServerConnect failed once25 minutes
  • server/pse TestPSEmulationMem failed RSS comparison at about 3.17 MB versus 4.7-5.4 MB18 minutes
  • logger tests failed with 'Unix syslog delivery error' because local syslog sockets are absent7 minutes
  • OCSP must-staple tests expected nats.ErrNoServers but received 'dial tcp [::1]: connect: cannot assign requested address'7 minutes
  • go was not installed; go version failed with 'go: not found'3 minutes
  • the shell lacked the time and nc utilities, so initial probes aborted2 minutes
Temps d'installation
76 minutes
De la machine vierge à la fin
76 minutes
Erreurs rencontrées et corrigées
10 rencontrées, 10 corrigées sans aide humaine
Comment le résultat a été prouvé
go build -o $HOME/bin/nats-server-released . exited 0; nats-server --version printed 'nats-server: v2.16.0-dev'; curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:64224/healthz returned 200; /varz reported version 2.16.0-dev and JetStream true; a separate-process probe exited 0 after health 200, pubsub 'verified', JetStream stream FINAL sequence 1 payload 'stored', and server exit 0; the final targeted go test command exited 0 with 37 passed, 0 failed, 0 skipped
Tokens de modèle utilisés
518 153
Commit exact testé
eb6f3a8c5786
Image de conteneur
sha256:cdd920bce783

Ce qui n'a pas été mesuré

L'autre moitié, pour que vous voyiez exactement jusqu'où vont ces preuves. Une lacune est affichée comme une lacune et n'est jamais comblée.

Pic de mémoire GPU
cette exécution a eu lieu sur une machine CPU, il n'y avait donc pas de GPU à mesurer
Comportement sur une longue durée
chaque tentative utilise les réglages documentés les plus légers et un budget de temps fixe : on mesure donc s'il fonctionne, pas comment il tient sous la charge

Regarder la session

L'exécution complète, depuis une machine propre, à la vitesse réelle. Rien n'est coupé et rien n'est accéléré.

Un enregistrement de la tentative 1, exécutée le . Le verdict ci-dessus provient d'une autre tentative : considérez donc ceci comme une session parmi d'autres, et non comme le résultat actuel. L'enregistrement du terminal dont elle est tirée constitue la preuve, conservée avec une empreinte sha256 ; la vidéo n'en est qu'un rendu. Rien n'est chargé depuis l'hébergeur de la vidéo tant que vous n'appuyez pas sur lecture.

La fin de l'enregistrement

Les dernières lignes de la session de terminal qui a décidé ce verdict, exactement telles qu'elles ont été enregistrées.

   // Memory
-  *rss = (parseInt64(fields[rssPos])) * pageSize
-  *vss = parseInt64(fields[vssPos])
+  *rss = parseInt64(fields[statmResidentPos]) * pageSize
+  *vss = parseInt64(fields[statmSizePos]) * pageSize
   // PCPU
   // We track this with periodic sampling, so just load and go.
-- binary --
nats-server: v2.16.0-dev
version_exit=0
tokens used
518,153

Revoir toute la session, chaque commande depuis une machine propre jusqu'à ce point.

Comment le test a été mené

Un agent, un conteneur, aucune aide humaine. Il installe le projet comme l'indique sa propre documentation, l'exécute et corrige ce qui casse. Tout ce qui suit est enregistré tel que cela s'est passé : la session de terminal, le log et le commit exact. La méthode complète.

Points forts et limites

Des faits mesurés, pas des opinions. Comment ce site est rédigé.

Ce qui s'est bien passé

  • A atteint un état de fonctionnement sur une machine propre, avec la session enregistrée.
  • Installé en 76 minutes.
  • S'est remis des 10 erreurs sans intervention humaine, ce qui indique que les échecs sont assez bien documentés pour être résolus.
  • A fonctionné sans GPU, il n'en a donc pas besoin pour démarrer.
  • Sous licence Apache-2.0, selon son hébergeur.
  • Mesuré 2 fois, le résultat n'est donc pas un cas isolé.

Pour quoi c'est un choix raisonnable

  • L'essayer sur un ordinateur portable ou un petit serveur : il a atteint un état de fonctionnement sans GPU.

Également testés, dans le même domaine

Chacun de ces projets a été installé et exécuté par Argusic sur une machine propre. Rien n'apparaît ici sans avoir été testé.

Historique des exécutions

testé partentativerésultatscorecoût USDdate
Argusic Runner2/3Fonctionne100,000,47
Argusic Runner1/3Fonctionne100,000,04

Sujets (depuis GitHub)

cloudcloud-computingcloud-nativeconnected-vehicledistributed-systemsedgeedge-aiedge-computinggogolangmessage-busmessage-queuemessagingmicroservices-architecturenats-server

Intégrer le badge

Markdown pour le README du projet. Il renvoie vers cette page ; conditions sur la page des conditions.

[![Tested by Argusic](https://argusic.com/badge/nats-server.svg)](https://argusic.com/subject/nats-server)

Questions

nats-server fonctionne-t-il ?
Oui. nats-server fonctionne. Argusic l'a installé et lancé sur une machine propre en 76 minutes, en rencontrant 10 erreurs en route, et a enregistré la session.
Comment Argusic a-t-il testé nats-server ?
Sur une machine vierge et jetable, avec chaque commande enregistrée et le dépôt épinglé au commit eb6f3a8c5786. 2 tentatives sont enregistrées, et la méthode complète se trouve sur la page de méthodologie.
Combien a coûté le test de nats-server ?
L'exécution qui a produit ce verdict a coûté 0,47 USD : le coût réel du calcul et du modèle, pas un prix catalogue par million de tokens. Il est enregistré sur la page de cette exécution.
Combien de temps faut-il pour installer nats-server ?
76 minutes lors de l'exécution qui a décidé ce verdict, d'une machine propre à un état de fonctionnement. Il s'agit d'une tentative mesurée, pas d'une moyenne.
nats-server a-t-il besoin d'un GPU ?
Pas pour démarrer. Argusic a atteint un état de fonctionnement sur une machine sans GPU.
Qu'est-ce qui pose problème lors de l'installation de nats-server ?
10 problèmes sont survenus lors de l'exécution enregistrée, et 10 ont été corrigés sans aide humaine. Chacun, avec le temps qu'il a coûté, est listé sur cette page.
Où sont les preuves pour nats-server ?
Les 2 exécutions enregistrées se trouvent sur cette page, chacune avec un lien vers son log complet et son enregistrement du terminal, conservés avec une empreinte sha256 pour qu'ils ne puissent pas être modifiés discrètement.

Discussion