IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

Firebird et .net


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 47
    Par défaut Firebird et .net
    bonjour à tous

    nous venons de développer quelques appli sous .net au lieu de Delphi et nous rencontrons une tonne de problèmes de stabilité de firebird. On ne sait pas si il y a un rapport entre .net et ces pb mais notre moteur firebird 1.5.3 tient apparemment pas la charge. Et s'arrête tout seul - sous linux opensuse superserveur - seul un kill -9 peut en venir à bout. On a l'impression d'une grosse perte de mémoire... car il pète même sans charge importante.

    Concernant .net, nous gérons des pools de connexion à FB.

    Un avis ou une idée sur l'origine du problème ?

    D'avance merci.

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Vous employez le provider ADO.net?
    Vous utilisez des datareaders? Etes-vous sûr de bien appeler les fonctions dispose()?

    Vous est-il possible de faire un test avec la 2.03?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 47
    Par défaut
    on est sur 1.53 et 2.0.3
    Firebird .Net Data Provider Version 2.0.1 for .NET 2.0
    pas de datareader et on utilise bien le dispose()

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Le dispose() ne suffit pas
    le dispose() ne fait que mettre les choses à la poubelle mais ne vide pas la poubelle, il faut faire un GC.collect()
    Ensuite il faut voir comment son gérées les connexions et leur libération
    avec .net on peut aller vite dans le mur sur la gestion de la mémoire.
    Je ne suis pas un spécialiste de .Net mais je sais qu'on peut très vite avec aller dans des fuites de mémoires importantes.
    Mais clairement, c'est un problème .Net

  5. #5
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Le dispose() ne suffit pas
    le dispose() ne fait que mettre les choses à la poubelle mais ne vide pas la poubelle, il faut faire un GC.collect()
    Non c'est pas possible, les cas ou appeler soi-même le garbage collector est justifié sont très très rares. Surtout que dans cet exemple c'est le serveur qui crash, pas l'application cliente.
    J'ai une application multi-site développée en .Net sur firebird, c'est impeccable niveau stabilité, la seule chose c'est que mon FB tourne sous du windows.

    avec .net on peut aller vite dans le mur sur la gestion de la mémoire.
    Je ne suis pas un spécialiste de .Net mais je sais qu'on peut très vite avec aller dans des fuites de mémoires importantes.
    C'est absolument faux, le seul moyen d'avoir des fuites de mémoires c'est d'avoir des "strong references" sur des objets dont on a perdu la trace (ce qui n'arrive quasiment qu'avec les event handler lorsqu'ils sont mal gérés ou mal compris).

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    pour .net, c'est possible que tu es raison, je ne suis pas spécialiste et effectivement le dispose() doit pouvoir suffire, quand au crash coté serveur, sous 1.5 je connais quelques cas possibles mais résolus en 2.O
    après sans connaitre les traitements demandés, il est impossible de répondre

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/09/2009, 12h32
  2. Réponses: 0
    Dernier message: 23/12/2008, 12h07
  3. Firebird ADO.net: fbembed.dll pas trouvée
    Par cyrille37 dans le forum Firebird
    Réponses: 1
    Dernier message: 10/01/2008, 18h18
  4. le driver Firebird pour .NET
    Par nozostan dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 01/12/2007, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo