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

Langages de programmation Discussion :

Quel script pour une application multithreading tournant tel un daemon?


Sujet :

Langages de programmation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Points : 65
    Points
    65
    Par défaut Quel script pour une application multithreading tournant tel un daemon?
    Bonjour,

    Je vous soumet ce post car je souhaiterai savoir quel langage est le plus adapté pour l'application dont j'ai besoin.

    Je suis actuellement sur un serveur dédié tournant sous fedora 8, dont la config est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Intel  Core2Duo E7200 2x 2.53 GHz
    L2: 3Mo FSB: 1066MHz
    Double Coeur gravé en 45nm
    Mémoire vive 	3 Go
    Disque dur 	500 Go
    Type disque	SATA2
    Connexion	100 Mbps
    Bande passante	100 Mbps
    Il me faut un script qui accede à ma base de données mysql afin d'y récupérer des adresses ip + ports associés.

    Cette base contient entre 70000 et 90000 entrées.

    Le script devra tester par paquets de 500, ces adresses ip, en multithreading, et tourner tel un daemon en tache de fond.

    Si le serveur distant répond, on met à jour un champs dans la base de données pour indiquer la date et l'heure du dernier controle. Si le serveur distant ne répond pas, on le supprime de la base.

    Je pensais qu'il serait bien d'avoir un script en perl, mais qu'en pensez vous? On me propose de faire un tel script en perl pour une tranche tarifiaire compris entre 30 et 40 euros...cela vous semble t-il correct?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    perl ou python me semble convenir à cette application... si les perfs ne suffisent pas, tournes-toi vers C++ avec la libraire Boost qui devrait être suffisamment simple
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Points : 65
    Points
    65
    Par défaut
    Bonjour gorgonite

    Tu insinue donc que C++ avec la librairie Boost serait plus performant qu'une application en PERL ou PYTHON?

    Car si tel serait le cas, autant se tourner de suite vers ceci...

    Personnellement, je pense qu'en 1 jour/2 maximum un tel script pourrait être terminé...Est ce que je me trompe?

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par joboy84 Voir le message
    Personnellement, je pense qu'en 1 jour/2 maximum un tel script pourrait être terminé...Est ce que je me trompe?
    en Perl/Python, sans doute... en C++ tout dépend de ta maitrise du langage

    nb : en C++, le programme sera compilé, et donc ne sera plus un script
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    perl ou python me semble convenir à cette application... si les perfs ne suffisent pas, tournes-toi vers C++ avec la libraire Boost qui devrait être suffisamment simple ;)
    Je ne vois vraiment pas l'intérêt de C++ dans ce cas : les performances sont de toute façon complètement dominées par l'accès à la DB et les appels réseaux... Les gains apportés par le C++ seront négligeables, le code sera également plus lourd (mais pas énormément, si tu es vraiment compétent en C++, ce qui est fort rare).

    Par ailleurs tu parles de multithreading, mais c'est à mon avis la mauvaise façon de faire, la bonne façon est de simplement utiliser des appels asynchrones, ce sera beaucoup plus léger.

    Avec les connaissances nécessaires, un tel script se ferait sans problème en moins d'une heure en Perl (bien moins) par exemple. (Net::Ping méthode "syn" et DBI)

    --
    Jedaï

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Je ne vois vraiment pas l'intérêt de C++ dans ce cas : les performances sont de toute façon complètement dominées par l'accès à la DB et les appels réseaux... Les gains apportés par le C++ seront négligeables, le code sera également plus lourd (mais pas énormément, si tu es vraiment compétent en C++, ce qui est fort rare).
    tout dépend de la lourdeur des traitements à effectuer avec les données récupérées... sur des plugins Munin, ça peut souvent permettre de caser 5 tests supplémentaires dans le petit laps de temps accorder par le serveur principal à chaque noeud

    mais il est clair qu'avec Perl, j'avais pu coder un plugin en 10 min, alors que ça prend parfois 1h en C++
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Je suis d'accord avec Jedaï et j'irais avec quelque chose de simple. Je connais mieux Python, donc c'est plus vers celui-ci que je me tournerais, mais Perl ferait parfaitement l'affaire.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Merci pour vos réponses!

    J'ai plusieurs offres de freelance pour développer le script en perl...mais une personne me propose de développer en GNU/Gcc et ACE Wrappers.

    Cela aurait plusieurs avantages:

    - Ecriture des évènements dans syslog
    - Application multithreadé
    - Faible consommation de mémoire.
    - Pas besoin de librairies

    Je n'ai jamais entendu parler de cela...et vous?

    Edit: après une petite recherche, si je comprends, il s'agit d'une application développée en C/C++ avec pour compilation GNU/Gcc? Cela vaut quoi?

    Merci

Discussions similaires

  1. [eCommerce] Quel script pour une boutique en ligne ?
    Par Lareine dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 26/06/2009, 16h14
  2. Quel langage pour une application qui gère des contrats et des factures ?
    Par pigpen dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 12/02/2007, 19h06
  3. Quel framework pour une application !
    Par Seth77 dans le forum Framework .NET
    Réponses: 8
    Dernier message: 26/01/2007, 10h32
  4. Quel langage pour une application de réservation de voiture sur internet ?
    Par Zhebulon dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 25/01/2007, 14h25
  5. [Compilation] A quel moment pour une application ?
    Par Rick1602 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/03/2004, 20h36

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