Erreurs système?

Messages postés
123
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
7 août 2018
- - Dernière réponse : cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
- 17 oct. 2011 à 10:49
Bonjour, cela fait maintenant plus de 2 ans que je fais tourner un serveur de donnes de bridge 24/24H et 7j/7. Environ 2500 donnes y sont jouées chaque jour, soit plus de 65000 dans le mois.
De temps à autre (environ tous les trois ou quatre jour, une erreur est reportée par le serveur...
Il y en a de plusieurs types, certaines étant fatales, comme la violationd'accès d'un emplacement mémoire, toutes les autres requêtes générant alors systématiquement des erreurs, d'autres sont occasionnelles, comme le refus qu'un joueur se connecte, ou encore trouver un caractère NUL au beau milieu d'un fichier texte, la suspension de l'écriture du journal de suivi, alors que le serveur continue à tourner normalement...
Il y a enfin, la charge des processeurs qui devient anormale et qui redevient normale si j'arrête le serveur et le relance, ce qui prouve que c'était bien lui qui chargeait les processeurs... Ceci ne semblant pas d'ailleurs entraîner des erreurs.
J'ai mis des protections un peu partout pour assurer la disponibilité du serveur. en particulier il redémarre systématiqueme l'ordinateur sur lequel il se trouve à 2H du matin, mettant ainsi hors d'effet une quelconque dérive mal maîtrisée, un compteur d'erreur qui redémarre aussi l'ordinateur s'il y a 5 erreurs signalées en moins de 10 minutes, et un chien de garde externe qui redémarre l'ordinateur s'il n'arrive pas à se connecter au serveur comme le ferait un client.

Ma question: est-il normal qu'il survienne des erreurs de ce type? ou est-ce que cela vient de mon programme? je passe mon temps à le relire et à y mettre des mouchards qui me permettraient éventuellement de déterminer à quel endroit cela se plante, mais jusqu'à présent sans beaucoup de résultats...

Une autre remarque qui peut intéresser les spécialistes: afin de voir si la surchage des processeurs était détectable par des durées anormales d'éxécution des tâches, j'ai mis un système de mesure des durées de ces tâches qui est reporté dans le journal d'exploitation.
Il semblerait qu'il y ait effectivement une relation entre la charge des processeurs et l'allongement et la dispersion de cette durée des tâches (normal les processeurs sont chargés!)
Mais chose intéressante: ssi je redémarre le serveur (sans redémarrer l'ordi) alors la durée moyenne de ces tâches diminue d'environ 20%, pour réaugmenter par la suite au fur et à mesure que de nouveaux joueurs arrivent.
J'ai supposé que les calculs dépendaient de l'utilisation de la mémoire cache, et qu'ils étaient plus rapides lorsque les données se trouvent dans cette mémoire. Il y a bien sûr tout une gestion par des pointeurs...

si quelqu'un a des avis sur ce que j'observe, il est le bienvenu...

A noter: j'ai changé aussi d'hébergement sur deux ordinateurs différents sans noter de différences de comportement concernant ces erreurs, très difficiles à débusquer, car rares, non reproductibles... L'un étant sous Vista et l'autre sous 7 64 bits.
Afficher la suite 

1 réponse

Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
0
Merci
Salut Gerard,

j' ai moi même 2 programmes sur le même serveur qui tournent 24h/24h sans problème.
L' un est un serveur mail (compos Indy Tiburon pour la connection mail+base de données DBase), l' autre permet d' enregistrer les pointages du personnel dans une base de données (SDK du lecteur biométrique pour la connection TCP/IP au lecteur + mYSQL pour la base de données).


Il me semble que ton problème pourrait venir de compos "tiers" (Indy peut être, quelle version utilises tu?) ou alors d' un morceaux de code récursif/répétitif. Le nombre de connections est aussi une possibilité de source de problèmes.
Malheureusement, sans nous donner le code, il est difficile de t' aider plus que ça ...

A+



Composants Cindy pour Delphi
Faites une donation.
Commenter la réponse de cs_MAURICIO