Un de plus ! Merci pour ton soutien @froch
Comment tu fais pour être ni un multiple de 10 ni de 5 ?
Trop fort !
quand je le fais çà fait « début de sauvegarde » 5-10 secondes puis après çà revient à la page d’origine.
Par contre çà rame à mort après ( page accueil inutilisable) la page intégration fonctionne bien. Au bout de 5 min tout redevient ok.
Je fais la méthode windows " dans le doute reboot".
edit1: je n’accède plus à gladys en 80 et j’ai çà en logs :
SQLITE_BUSY: database is locked
edit2: > Gateway backup: Unlocking Database
2022-05-02T20:43:20+0200 gateway.backup.js:57 (Gateway.backup) Gateway backup : Success! File size is 1446mb.
2022-05-02T20:43:20+0200 gateway.backup.js:59 (Gateway.backup) Gateway backup: Gzipping backup
par contre toujours rien dans sauvegarde
Moi.
Je n’ai pas vraiment besoin de Gladys plus, j’avais souscrit pour soutenir le projet et suite au Covid j’ai dû réduire les frais donc me revoici toujours pour soutenir le projet.
Sans ton offre je serais certainement revenu l’année prochaine.
Déjà c’est 9.99€ / 4.99€, donc c’est jamais pile Ensuite, là j’utilise Chartmogul pour calculer le MRR, et leur calcul est particulier, car ils retirent des choses qui ne sont pas vraiment du MRR comme la TVA par exemple.
Ca c’est normal, la sauvegarde de la base de donnée est une opération bloquante (la DB est verrouillée pendant l’opération pour éviter les corruptions de données).
Ta base de donnée est de 1.4GB comme indiqué dans le log, est-ce que ta connexion internet est suffisante pour uploader 1.4GB ? En sachant que si tu reboot Gladys, ça arrête tout et il faudra tout recommencer
Tu n’as pas d’erreur spécifique dans les logs ?
Je pense que tu n’attend pas assez
J’ai vu ! Génial, merci d’être revenu !
Grâce à toi, on est à 400€ MRR !
Salut à tous !
J’ai ajouté un « livre d’or » avec les super messages mis dans ce sujet (merci @VonOx, @jparbel, @Legw4nn, @Psoy et @tiboys), si ça peut convaincre ceux qui hésitent qu’il y a bien un vrai service qui fonctionne bien, c’est tout bénef
A voir ici en live :
Si certains d’entre vous ont des (super) retours à faire aussi, vous pouvez les mettre en réponse ici, je les rajouterais au site
ok pour le ralentissement.
je viens de voir que la sauvegarde se fait bien car dans /var/lib/gladysassistant/backups j’ai un backup et sa compression. Donc je vais attendre l’upload.
Utilisateur de Gladys depuis la V3, j’ai d’abord souscrit à Gladys Plus par soutien au projet que je trouve génial. Suite aux nombreuses mises à jour et ajouts de fonctionnalités de la V4, mon installation s’est rapidement étoffée et aujourd’hui je ne peux plus me passer de Gladys Plus !
Mon principal problème est maintenant de trouver du temps pour mettre en place chez moi les idées piochées dans les vidéos de présentation des installations de la super communauté Gladys
il y a un log spécifique pour l’upload du backup mis à part
gateway.backup.js:70 (Gateway.backup) Gateway backup: Uploading backup
par contre peu après j’ai toujours :
terminate called after throwing an instance of ‹ std::bad_alloc ›
what(): std::bad_alloc
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gladys-server@ start:prod:cross-env NODE_ENV=production node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gladys-server@ start:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-05-04T19_58_34_681Z-debug.log
bon mon système plante depuis que je suis sur gladys plus …moi qui justement voulait sauvegarder pour refaire au propre ( raspberry4, dd )
Ca ressemble fortement aux ralentissements qu’on avait avec @lmilcent.
Des devices surement trop verbose et la carte SD qui n’est pas assez perfomante … Et pour ma part depuis que je suis passé en 64 bits/SSD, plus de soucis. Pour le coup est-ce que tu sais copier ta base de donnée sur ton PC/MAC pour verifier les données comme un gros volume ou des valeurs NaN ?
Merci pour ce super retour @Mastho !
@mikael par curiosité tu as quel Raspberry Pi ?
Ta DB est relativement grosse (1.45GB), et je suppose que tu as un Pi avec seulement 1GB de RAM.
Actuellement, le process d’upload des sauvegardes Gladys Plus envoie le fichier en 1 seul chunk, et du coup il peut y avoir un moment où Gladys essaie de charger l’archive entièrement en RAM lors de l’upload, ce qui entraine ce crash « std::bad_alloc » = RAM pleine, ce qui est logique si tu veux charger 1.45GB en RAM en ayant que 1GB.
J’avais pour projet de revoir cette partie afin de passer à un upload en petit chunk, c’est à dire uploader le fichier en petit bout, afin de ne pas surcharger la RAM de ton Pi. Le principe, c’est qu’avant d’envoyer le fichier de sauvegarde, je découpe le fichier en par exemple 145 bouts de 10 Mo, et j’envoie seulement 10Mo par 10Mo, ce qui évite de surcharger ta RAM
Vu que tu as le souci, je vais bouger ça plus en haut dans ma liste, c’est important que les sauvegardes Gladys Plus soient robuste !
Après c’est quand même un beau développement, donc en attendant, pour te débloquer :
Est-ce que ta DB de 1.45GB est justifiée, ou c’est juste des vieilles données dont tu n’as plus l’utilité?
Si tu veux faire un petit ménage de printemps, tu peux aller dans les paramètres, puis « Systèmes », puis tu changes la valeur « Conserver l’historique des états des appareils », passes à 1 semaine « temporairement » (pendant au moins 24h):
La nuit, Gladys passera faire un nettoyage de toutes les valeurs plus vieille que 1 semaine, et ta DB sera beaucoup plus légère, ça peut te débloquer temporairement (si tu ne tiens pas à tes vieilles valeurs bien-sûr)
Encore désolé pour le dérangement, n’hésite pas si tu as d’autres questions, et merci de ton soutien sur Gladys Plus
@Terdious oui je sais le faire.
Pour le 64/SSD c’est mon but, je voulais avoir une sauvegarde et pouvoir reclaquer le tout facilement.
@pierre-gilles Un raspberry 3 avec 1 Go .Ok je fais çà.
@pierre-gilles : c’est trop tard le job qui fait le ménage passe pas. çà plante avant.
je vais faire le ménage en manuel.
t_device_feature_state_aggregate => 2 780 433 enregistrements
bon j’ai fait un petit delete from t_device_feature_state_aggregate hsotoire de repartir sur de bonnes bases. ( Requête exécutée avec succès. Elle a pris 135129 ms , 2780433 enregistrements affectés )
bien sur enregistrer les modifications.
faire un « vacuum » pour réduire la base
et hop magie 1,1 Mo ( bon plus de données mais bon çà marchait plus sinon )
et la sauvegarde apparaît bien
Top @mikael ! Par contre, tu n’as fais le ménage que dans la table aggregate ? Pas dans la table t_device_feature_state
? Il faut bien cleaner les deux.
Après, si tu as atteint 1.1Mo de base, c’est qu’il ne doit plus rester grand chose
De mon côté, j’ai travaillé tout vendredi sur le sujet de l’upload des backups en chunk pour que ce problème ne revienne pas à l’avenir. Je continue sur ce sujet aujourd’hui !
Je viens apporter quelques nouvelles sur ce développement ( upload en chunk des sauvegardes Gladys Plus )
J’ai travaillé toute la journée sur le sujet (2ème jour dessus!), et c’est quasiment fini !
Au lieu d’uploader les sauvegardes en 1 seul bloc, les sauvegardes seront maintenant uploadée en chunk de 20 Mo afin que ce soit moins gourmand en RAM côté client.
Ce changement ajoute pas mal de robustesse aux backups, car Gladys peut « re-essayer » d’uploader chaque chunk en cas d’échec de l’upload (coupure temporaire d’internet, instabilité réseau, etc…), au lieu de devoir tout ré-uploader.
Enfin, j’upload désormais les sauvegardes directement via l’API HTTP S3 de mon provider d’Object Storage, et non plus via le backend Gladys Plus (c’était proxyfié jusque là), ce qui permet de réduire la charge sur le backend et la bande passante utilisée !
En bonus, j’ai travaillé sur l’interface pour que les sauvegardes Gladys soient vu comme une « tâche en arrière plan », qui est désormais visible dans l’onglet « Tâches en arrière plan », avec le pourcentage de progression (@lmilcent ça va te plaire), et l’affichage du message d’erreur en cas d’erreur :
j’ai aussi fait la table state même si elle était plus petite
Génial, merci
Top, le pourcentage s’update en temps réel ou faut refresh la page ?