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

Développement Web en Java Discussion :

[sqlite] discussion sur les performances


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Par défaut [sqlite] discussion sur les performances
    Bonjour,

    J'ai fais un test pour voir les performances de mes insertions dans la base sqlite d'un de mes programme Java (au début la base est vide). Mais les performances semblent varier beaucoup au fur et à mesure que cela grossit

    Voici le graph des performances (nb d'enregistrements fonction du temps) et la vitesse d'enregistrements à la seconde qui est divisée par 10 !!



    Cela est pour moi un obstacle
    Y aurait-il un moyen d'améliorer cela ?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Par défaut
    tu peux faire une description détaillé de ton programme java ?

  3. #3
    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 : 41
    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
    Salut Ceubex,

    J'ai fait quelques tests depuis une application C++ il y a quelques années sur Sqlite, effectivement, lors d'une importation de masse, les performances étaient phénoménales lorsque la base était vide ( + de 5000 par sec.), en revanche, s'approchant du million, ça devenait catastrophique, tombant parfois à 50/sec.

    En fait, mes recherches m'avaient conduit à la conclusion que c'était parce que la vérification des contraintes (doublons et co...) se faisaient uniquement par des btree et non des hash index. De ce fait, les tests nécessaires aux nouveaux ajouts se multipliaient, sans parler du disk trashing.

    En fait je ne sais pas ce qu'il en est dans les versions actuelles donc ce que je dis est à prendre avec des pincettes. Sinon en premier lieu si c'est pas déjà fait, essaie d'utiliser un cache_size assez gros.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Par défaut
    Ok merci pour l'info skip
    Oui le cache size ça change un peu les choses mais ça n'est pas non plus le jour et la nuit.
    N'y a-t-il pas moyen de désactiver la vérification des contraintes dont tu parles ?

  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 : 41
    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
    C'est bien possible, bon il restera toujours la clef primaire. De toutes façons dans mon cas, puisque l'importation était pas une routine one shot mais un truc qui allait devoir s'exécuter chaque jour, je voulais à tout prix conserver la possibilité de rejeter des enregistrements donc désactiver les contraintes était un risque trop gros.

    J'ai malheureusement pas vraiment de solutions... Il y a des articles un peu partout sur l'optimisation mais souvent ça demande des recompilations et ça a des effets de bord.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il est possible que le problème vienne de la base de données proprement dite.
    Je verrais bien un problème de maintenance d'un chemin d'accès...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Performances] Discussion sur les performances
    Par funkydata dans le forum NxEngine
    Réponses: 15
    Dernier message: 06/06/2007, 14h41
  2. Votre avis sur les performances
    Par Rafy dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/08/2005, 08h28
  3. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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