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 :

Plantage Firebird ou Linux?


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut Plantage Firebird ou Linux?
    Bonjour à tous,

    Je suis confronté à un énorme soucis, dont je ne comprends pas la raison.

    Je travaille sur un serveur Linux, sous Firebird 2.5 RC3 (V2.5.0.26074), donc la toute dernière version, en ClassicServer, avec une base en multi-fichier (un peu plus de 3Go au total) et une autre de moins de 100Mo. Le choix de Firebird 2.5 est la communication directe entre les bases.

    Les seuls éléments activés sur FIREBIRD.CONF sont
    LockHashSlot=2039
    TempDirectories= /data/tmp/ (accès à 109Go)

    Mon architecture est la suivante:
    - un serveur Linux (Firebird 2.5RC3) => centralisation de mes bases
    - un Windows (Firebird 2.1.3) => avec mes applications qui se connectent aux bases de données
    - X clients (applicatifs) qui se connectent sur mes applications du Windows, pour accéder aux données.

    Depuis quelques temps, l'accès aux bases de données se bloque, c-à-d que les applications sur le serveur Windows ont perdu la connexion aux bases. Et moi je ne peux plus atteindre le Linux, je dois attendre env. 5min pour y accéder à nouveau (je ping toujours le linux pendant l'attente). Et re-demarrer toutes les applications du Windows.

    Erreur Firebird :
    Operating system call pthread_create failed. Error code 12
    Database: /bdd/*****.fdb
    lock manager error
    operating system directive pthread_create failed
    cannot allocate memory

    J'ai plusieurs plateformes où la même architecture (machines/applicatifs, etc) est présente, et je n'en qu'une seule où survient ce problème.
    Est ce du :
    - à la taille de la base principale (3Go, les autres étant à env. 1Go)?
    - Firebird, qui ne vide pas son cache?
    - Trop d'accès/demande à la bdd? => déja vu une fois plus de 1500 instance fb_inet_server
    - Linux? => 3Go de RAM + 2Go sur le swap
    - mes applications??? => J'ai vérifié les transactions de chaque application, elles sont toujours correctes

    Après avoir lu plusieurs doc entre Firebird et Linux, j'ai essayer d'optimiser les deux, même résultat.
    Je m'y prends surement mal, il y a quelque chose qui doit m'échapper.

    Merci à vous.

  2. #2
    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
    Citation Envoyé par Shmitabidf Voir le message
    Bonjour à tous,

    Je travaille sur un serveur Linux, sous Firebird 2.5 RC3 (V2.5.0.26074), donc la toute dernière version,
    pardon ?
    Firebird 2.5 RC3 (V2.5.0.26074) ????
    c'est quoi ça ?
    que dit isql -z ?

  3. #3
    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
    Citation Envoyé par Shmitabidf Voir le message
    - Trop d'accès/demande à la bdd? => déja vu une fois plus de 1500 instance fb_inet_server
    cela vient certainement de là

    c'est trop pour ta machine

    clairement tu atteint une limite de ton OS sur ta machine, c'est d'ailleurs ce que dis ton message d'erreur

    Franchement 1500 instances, cela veut dire 1500 connexion, il ya qq chose de bancale dans ton systeme

    quand on veut faire ce genre de chose, il faut changer d'architecture et passer par un pool de connexion pour en limiter le nombre, rien n'empèche de faire passer plusieures transactions dans une même connexion

    ou sinon, il faut plus de mémoire

    c'est un Linux 64 bit ?

    si oui essayer de passer en SuperClassic pour Firebird

    mais il y aura tout de même à vérifier aussi les limites de ton Kernel

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Bonjour,

    Tout d'abord merci pour les réponses.

    Alors: isql => version unixODBC 2.2.11
    Je n'ai pas l'option z, ca me renvoi les options possibles de isql.

    Le linux est en 32Bits, mais je peux le passer en 64 si il faut.
    Les limites du kernel:
    core file size (blocks, -c) 0
    data seg size (kbytes, -d) unlimited
    scheduling priority (-e) 0
    file size (blocks, -f) unlimited
    pending signals (-i) 32768
    max locked memory (kbytes, -l) 32
    max memory size (kbytes, -m) unlimited
    open files (-n) 1024
    pipe size (512 bytes, -p) 8
    POSIX message queues (bytes, -q) 819200
    real-time priority (-r) 0
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) unlimited
    max user processes (-u) 32768
    virtual memory (kbytes, -v) unlimited
    file locks (-x) unlimited

    J'ai essayer également en SuperClassic (en restant en 32Bits), mais j'ai là aussi pas mal de problème.
    Mais je vous avoue que sur le SuperClassic, je n'ai pas tout explorer.

  5. #5
    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
    Citation Envoyé par Shmitabidf Voir le message
    Alors: isql => version unixODBC 2.2.11
    Je n'ai pas l'option z, ca me renvoi les options possibles de isql.

    c'est le isql d'odbc ça !
    lancer le isql de Firebird

    Citation Envoyé par Shmitabidf Voir le message
    Le linux est en 32Bits, mais je peux le passer en 64 si il faut.
    c'est surement mieux
    Citation Envoyé par Shmitabidf Voir le message
    Mais je vous avoue que sur le SuperClassic, je n'ai pas tout explorer.
    il n'y a rien à "explorer", il suffit de changer avec changeMultiConnectMode.sh en choisisissant thread au lieu de process
    quand aux limite rapportées, elle ne suffisent pas pour dire quoi que ce soit, à part open files (-n) 1024 qui me semble faible, mais il y a aussi les limites par utilisateur

    il faut aussi lire ça : http://www.kernel.org/doc/man-pages/..._create.3.html

    et donc vérifier les limites concernant les threads et leur taille

    et puis il faut surveiller la mémoire, peut être que les 3Go sont trop faibles

    il y a qq indications dans mes slides ici :
    http://www.ibphoenix.fr/spip.php?article91

    mais pour moi comme ça, c'est d'abord un manque de mémoire
    surtout si Firebird n'est pas tout seul sur la machine

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    /opt/firebird/bin/isql -z
    ISQL Version: LI-V2.5.0.26074 Firebird 2.5

    En tous les cas je vais regarder les docs et je vous dirais.

    Pour le moment Firebird est seul, mais j'ai l'intention d'installer Tomcat, mais je veux pas le faire tant que je n'ai pas résolu mon problème de stabilité.

  7. #7
    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
    Tomcat en plus ?
    bon courage
    ceci dit la clé est là :
    les limites concernant les threads et leur taille
    avec le nombre trop élevé de connexion que vous faites

    Ceci dit, si vous n'interrogez qu'une ou deux bases, un Linux 64 avec Firebird SuperServer est peut être plus approprié

Discussions similaires

  1. Firebird et linux (suse)
    Par jose.ignacio.agata dans le forum Installation
    Réponses: 1
    Dernier message: 11/02/2008, 22h16
  2. un driver ODBC pour Firebird avec Linux
    Par dj.motte dans le forum Installation
    Réponses: 4
    Dernier message: 27/09/2007, 19h36
  3. Probleme plantage Firebird
    Par panpan033 dans le forum Firebird
    Réponses: 20
    Dernier message: 19/06/2007, 11h52
  4. parefeu et firebird sous linux - client fastcaisse
    Par cyrilb dans le forum Installation
    Réponses: 1
    Dernier message: 21/06/2006, 13h14
  5. Réponses: 3
    Dernier message: 05/06/2006, 15h45

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