kortex a écrit 103 commentaires

  • # Réponses aux questions

    Posté par  . En réponse au message MySQL - Gros problème de performance. Évalué à 1.

    Bonsoir,

    Désolé effectivement j'ai loupé quelques détails.

    Alors pour répondre à Framasky : non je n'ai pas utilisé mysqltuner.
    Je me méfie toujours des scripts qui font tout et qui appliquent une politique générale selon des règles qui se voudraient universelles. Les règles de tuning MySQL sont compliquées à prédire puisqu'elles dépendent de l'applicatif et de la machine (il n'y a qu'à faire un tour sur le site de Percona pour se rendre compte que même la documentation officielle MySQL raconte parfois n'importe quoi).

    Du coup, pour le réglage de MySQL, c'est simple : comme le projet de remplacement des machines étaient planifiées, j'ai travaillé sur les anciennes machine en modifiant quelques paramètres. Si la performance n'était pas dégradée, je validais le paramètre, sinon je revenais en arrière. Donc au moment de la migration, j'étais iso-configuration. Je n'ai pas été trop loin car nous ne cherchons pas la microseconde : nos machines sont très correctes et loin d'être saturées.

    Avant l'entrée en fonction de cette machine, j'ai qualifié la modification de trois paramètres :
    * 'innodb_io_capacity' qui était à 1200 et qui a été descendu à 200
    * 'table_open_cache' et 'table_definition_cache' qui ont été augmentés à 1000 chacun (au lieu de 64 et 400 ; soit les valeurs par défaut). L'amélioration est très légère mais réelle caches chauds.

    Pour cette migration j'ai, en plus, modifié 'innodb_buffer_pool_size' pour passer de 10G à 64G (testé et approuvé auparavant sur d'autres machines ; en prod à l'heure actuelle). J'ai quand même effectué le test à 10G (au cas ou) et ce n'est pas ça.

    Comme les performances ne sont pas bonnes, j'ai :

    • modifié 'innodb_log_file_size' pour passer de 500 Mo à 2047 Mo : aucune amélioration
    • modifié 'innodb_io_capacity' pour remonter à 1200 le temps d'un test : aucune amélioration

    Pour répondre à Francesco :

    • MySQL 5.5.40 des deux côtés et même configuration (sauf 'innodb_buffer_pool_size' mais j'ai testé avec la même valeur et ça ne vient pas de ça)
    • kernel 3.17.7-r1 hardened des deux côtés et même configuration
    • oui l'environnement est le même des deux côtés (gcc 4.8.3 / profile hardened / use flag identiques sur tous nos serveurs SQL)
    • niveau système de fichier : EXT4 des deux côtés, 'noatime' des deux côtés.

    La seule différence est au niveau du raid.
    La machine ne swap pas ; n'a pas d'io wait en particulier ; ne charge pas niveau cpu ; n'a aucune erreur dans les logs).

    J'ai déjà eu des performances désastreuses sur MySQL avec des serveurs dont le raid était matériel mais c'était lié au cache de la carte raid qui n'était pas actif. Par contre, dans le cas de mdadm, je sèche complètement.
    Je me demandais si l'option de montage 'data' ('ordered' à l'heure actuelle) n'était pas une piste mais je ne trouve pas grand chose qui explique les différentes options…

  • # Toujours pas de solution

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Bonjour,

    J'ai mené différents essais ces derniers jours et j'en suis toujours au même point.
    Côté RSYNC :
    - tests sur Gentoo et Debian wheezy
    - avec différentes combinaisons d'options
    - avec un daemon RSYNC côté source ET côté cible
    - sans daemon RSYNC
    - sur montage NFS
    - à travers SSH

    J'ai toujours le même comportement…

    Côté RDIFF-BACKUP : mes premiers essais ne me conviennent pas. Ca n'a pas la souplesse / la simplicité de RSYNC :-/

    Avant je travaillais sur Solaris et je migrais des zones locales en deux temps :
    - j'amenais un nouveau volume de disques
    - je faisais une première synchronisation (groupe de disques actuel => nouveau groupe de disques) pendant que la zone était en exécution
    - je coupais la zone
    - je faisais une deuxième synchronisation à froid : je n'avais que le delta

    Hors, je n'utilisais qu'une commande simple : rsync -av --delete source cible

    Pourquoi le rsync de Linux n'a pas ce comportement ?
    Si quelqu'un a des idées je suis preneur.

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1. Dernière modification le 28 novembre 2014 à 10:36.

    Oui mais je n'ai pas commencé par lui faire confiance aveuglément :-)
    Quand je lance réellement le transfert je peux t'assurer qu'il transfert tout (taille en MB/s * temps = la taille du fichier).

    Hors, je ne rajoute que 12 Ko à la fin d'un fichier binaire de 27 Go :
    bash
    cat fichier_binaire_12K >> fichier_binaire_27G

    L'option "-n" n'est peut être pas la plus fiable mais dans mon cas je pense qu'elle fonctionne correctement :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    D'après le man, "--partial" ne sert qu'à la reprise en cas de coupure du transfert. J'ai essayé --partial avec l'option -n et pareil :
    Total file size: 28735205960 bytes
    Total transferred file size: 28735205960 bytes

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Les tests étaient tellement longs à effectuer que j'ai utilisé l'option "-n" pour simuler ce qu'il se passerait et je me suis fié aux valeurs affichées dans le rapport final ; si ce mode simulation est une image de la réalité, il transfert 100% :-/

    Tous les tests que j'ai fais réellement (sans le "-n") ont confirmé ce transfert complet (en local comme à distance).
    J'ai quand même du mal d'imaginer que je suis le seul qui ait besoin de transférer un delta de fichiers volumineux :-/

  • [^] # Re: rdiff-backup et rdiff-backup-fs

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Ce soft m'a l'air intéressant effectivement mais dans la mesure ou je ne sauvegarde pas un répertoire mais un dump, est-ce qu'il va réussir à faire le delta ?
    Désolé pour la solution de facilité (poser la question au lieu de tester) mais je suis un peu court niveau temps ces jours-ci :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Bonjour,

    Je te remercie pour l'explication mais malheureusement il y a toujours une chose que je ne comprends pas. Tu dis que RSYNC optimise la bande passante et non les I/O. Mais quand je concatène 12 Ko au bout d'un fichier de 27 Go et qu'il se met à transférer les 27 Go, c'est pas super économe :-/

    Du coup par rapport à ton explication j'en déduis que je ne dois pas utiliser "--inplace" mais malgré tout je ne trouve pas LA combinaison qui fait qu'il va syncer un delta.
    Ça n'existe pas ?

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Du coup ce n'est pas un bug chez moi mais bien un comportement généralisé :/

    Yohann comme tu semble avoir les mêmes résultats que moi, est-ce que tu as une solution pour ne copier que le delta ?
    Précision tout de même : je n'utilise pas toujours --inplace et/ou --no-whole-file. J'ai fais plusieurs essais donc le classique rsync -av src/* cible/. et même combat :(

    Pour résumer, je viens de refaire quelques essais :

    • je rsync un gros fichier (27 Go)
      rsync -av --stats --progress src/* cible/.

    • je relance le rsync : plus rien à faire (normal)

    • je concatène un fichier binaire assez léger (12 Ko) à la fin du gros fichier source :
      cat binary_12k >> src/gros_fichier

    • je relance le rsync avec différentes combinaisons :

      • "-av --stats --progress" : même soucis
      • "-av --stats --progress --no-whole-file --checksum" : même soucis
      • "-av --stats --progress --no-whole-file --checksum --inplace" : même soucis
      • "-av --stats --progress --no-whole-file --checksum --inplace --block-size=512" : même soucis
      • "-av --stats --progress --no-whole-file --checksum --inplace --block-size=4096" : même soucis
  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Bonjour,

    Effectivement je n'ai pas le daemon rsync (ni sur le serveur source, ni sur le serveur cible). Par contre, quand je fais un rsync purement local (comme celui de mon dernier commentaire), il faut également le daemon ?!

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Je viens de faire le test suivant :
    - copier un fichier de la DB qui tourne vers un répertoire "tmp"
    - copier ce fichier de "tmp" vers "src"
    - rsync -av --stats --progress src/* cible/. : sync full (normal)
    - concaténation d'un petit fichier de DB dans src/fichier_origine
    - rsync -av --stats --progress src/* cible/. : à nouveau un sync full :'(

    Je ne comprends vraiment pas le problème :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    Je confirme : je viens de faire un test de rsync en prenant un répertoire MySQL bien lourd (base démarrée) et au deuxième rsync, sur les gros fichiers, il sync full :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    J'ai toujours utilisé rsync dans ce but oui… Genre pour des migrations ou tu fais un premier rsync à chaud puis un delta à froid pour redémarrer rapidement.

    Mais bizarrement sur des gros fichiers il n'a pas le même comportement.

    Non je ne le déduis pas ; je pense que c'est comme ça. Par contre j'ai aucun élément de réponse… :-/
    La documentation sur mongodump est light mais j'ai comme l'impression que le dump n'est pas compressé par défaut :

    To send the database dump to standard output, specify “-” instead of a path. Write to standard output if you want process the output before saving it, such as to use gzip to compress the dump.

    Mais j'ai remarqué ce soucis avec d'autres gros fichiers binaires donc, sauf erreur de ma part, je pense pas que ce soit lié au dump Mongo spécialement :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 1.

    J'ai essayé "--checksum" tout court sans "--block-size=SIZE".
    Tu mettrais quoi comme "--block-size" ? Je trouve pas d'information sur son fonctionnement :-/

  • [^] # Re: gzip

    Posté par  . En réponse au message Rsync : sauvegarde incrémentale de gros fichiers. Évalué à 2.

    Donc ça viendrait de rsync qui ne voit pas la modification dans son "block-size" habituel et qui prends la décision de tout synchroniser ?

  • [^] # Re: Bridge et scripts ifup ifdown

    Posté par  . En réponse au message Routage "dynamique". Évalué à 1.

    Ta solution est pas mal (passage en bridge + ppp) mais ne peut pas fonctionner chez nous car j'ai un routeur allumé et un routeur éteint en permanence.
    Si quelqu'un démarre le routeur éteint, il se substitue à l'ancien routeur allumé (reconfiguration des switchs etc).
    Ceci permet de basculer d'un routeur à l'autre sans reconfigurer les postes clients / sans attendre un bail DHCP / etc.

    Conclusion : je crois que je vais devoir en rester à mes scripts maisons :-/

  • [^] # Re: Smokeping

    Posté par  . En réponse au message Routage "dynamique". Évalué à 1.

    Merci beaucoup je connaissais pas Smokeping mais je n'ai pas l'impression que ça réponde à mon besoin :(

    Je cherchais plutôt un mécanisme au niveau de la couche réseau / noyau / je ne sais quoi qui aurait été assez intelligent pour dire "tiens quand je passe par cette route je n'ai pas de réponse en face alors je vais essayer par telle autre route".

    Je dois être trop exigeant car toutes les solutions que je trouve sont proches de la mienne : ping d'un site et si ko alors on switch.

  • [^] # Re: regarder ce que font les projets opensource dans le domaine

    Posté par  . En réponse au message Routage "dynamique". Évalué à 1.

    pfSense aurait pu être une solution mais on souhaiterait rester sur la distribution actuelle (Gentoo).
    Par contre j'ai pas de machine sous la main pour tester pfSense et voir comment il fonctionne en détails.

    D'après ce que j'ai lu :
    - la répartition des connexions WAN est gérée via le NAT (j'ai préféré jouer avec iproute)
    - la détection se fait par un ping (serveur cible configurable)

    Donc ça ressemble à ma solution "maison". Sauf qu'au lieu de pinger un seul site je prends 1 site parmi une liste. Si le ping est KO, je prends un autre site pour essayer de "deviner" si c'est la connexion qui est down ou le site en face.

    Je trouvais ça un peu trop bricolage à mon goût mais il faut croire qu'il n'y a pas moyen de faire autrement :-/

  • [^] # Re: Bridge et scripts ifup ifdown

    Posté par  . En réponse au message Routage "dynamique". Évalué à 1.

    Merci Christophe mais du coup pour la première piste, je ne peux pas passer les modems en bridge pour deux raisons :
    - 1/ j'ai deux routeurs (un actif / un de secours). Il faudrait donc que celui de secours soit toujours coupé etc.
    - 2/ j'ai une ip dynamique sur une des deux connexions (par choix)

    Je pensais plutôt qu'il y avait un truc niveau routage (avec ip route add). J'ai essayé avec "metric" mais ça ne fonctionne pas. Avec "nexthop" non plus :(

    Je pensais que les protocoles de routage étaient "intelligents" ? C'est pas un troll mais une vraie question (je suis pas super super bon en réseau).

  • # Résolu

    Posté par  . En réponse au message Modem câble contrôlé par Linux. Évalué à 1.

    Bon bah en faites j'ai trouvé l'origine de mes soucis : ce n'est pas lié au mode routeur ou bridge mais à la stabilité de la ligne qui subit des perturbations. Les déconnexions sont moins visibles en bridge mais il doit y en avoir autant :-)

    Du coup je peux rester en routeur et garder mon IP fixe côté LAN.

  • [^] # Re: moi pas comprendre moi reformuler.

    Posté par  . En réponse au message Modem câble contrôlé par Linux. Évalué à 1.

    En faites par "contrôlé" je voulais faire référence à ce qui peut être fait avec un modem ADSL + routeur lorsque l'on rentre les identifiants / mots de passe de la ligne sur le routeur et non le modem.
    Il me semblait, mais j'ai peut-être mal compris, que dans ce cas de figure, le routeur contrôlait bel et bien le modem.

    A l'heure actuelle j'ai une table de routage qui ressemble à ceci :
    ip route add default via 192.168.0.1
    => 192.168.0.1 étant l'adresse IP du modem.

    Est-ce que tu sais s'il est possible de faire un truc genre "ip route add default via eth1" par exemple ?
    Je pense que non mais à tout hasard…

    Je te remercie d'avance.

  • # victoire !

    Posté par  . En réponse au message Résolu - Partage de 2 connexions Internet entre plusieurs LAN. Évalué à 1.

    Finalement j'ai réussi à faire ce que je voulais en me basant sur le script de cette page.

    J'ai repris les travaux de gyokuran et j'ai amélioré quelques détails par rapport à mes besoins :

    • suppression de l'argument 'off' : dans ma futur topologie réseau, si je désactive le routeur, Internet ne fonctionne plus donc j'ai supprimé ce bout de code car il m'est inutile.
    • amélioration du script pour répartir la charge selon le réseau LAN source et non selon une IP paire ou impaire
    • correction au niveau des routes pour qu'il y ait isolation entre mes LAN's
    • rajout d'ouverture d'accès sur liste blanche

    Je l'ai testé sur une infra à 6 VM :

    • 2 clients sur 2 réseaux différents
    • 1 passerelle (qui a un pied dans chaque réseau des clients)
    • 2 VM's qui servent de 'modems'
    • 1 VM cible

    Ça a l'air de fonctionner donc si quelqu'un est intéressé par le script je pourrais toujours le poster quelque part :-)

  • [^] # Re: un peu de tag et de queue

    Posté par  . En réponse au message Résolu - Partage de 2 connexions Internet entre plusieurs LAN. Évalué à 2.

    Bonjour,

    Je te remercie pour la réponse :-)
    J'ai monté une infrastructure hier en VM's qui ressemble à ceci :
    - CL-01 => 192.168.10.5 - GW = 192.168.10.1
    - CL-02 => 192.168.20.5 - GW = 192.168.20.1
    - GW-01 => 192.168.10.1 / 192.168.20.1 / 192.168.100.1 / 192.168.200.1. Les réseaux 10 et 20 sont les IP du LAN. Les réseaux 100 et 200 la communication avec les modems.
    - MODEM-01 => 192.168.100.1 / 192.168.250.1
    - MODEM-02 => 192.168.200.1
    - WEB-01 => 192.168.250.1

    J'ai d'abord essayé ce genre de solution mais dès que je supprime la route par défaut 0.0.0.0 ça ne fonctionne plus. Donc je me demande s'il me manque pas quelque chose pour que les tables T1 et T2 prennent le relai ??

    J'ai ensuite essayé cette solution mais elle me parait super lourde pour ce que je veux faire non ?

    En reprenant l'explication de mes VM's ci-dessus :
    - CL-01 et CL-02 sont des "clients" (des postes du LAN quoi)
    - GW-01 le routeur
    - MODEM-01 / MODEM-02 des "simulations" de modem
    - WEB-01 la cible

    Je veux donc que CL-01 passe GW-01 et soit routé sur MODEM-01 et que CL-02 passe GW-02 et soit routé vers MODEM-02. Dans les deux cas, je dois atteindre WEB-01.

    C'est plus ou moins fonctionnel avec le script du forum Fedora mais je le sens super complexe à maintenir : je dois rajouter une partie pare-feu + blocage des postes non autorisés. Tu en pense quoi ?

  • [^] # Re: Écriture de deux rapports de projets

    Posté par  . En réponse au journal MS Office c'est vraiment de la merde. Évalué à 1.

    Euh ?

    Dans la mesure ou mon commentaire précédent ne se focalise pas sur Office mais sur les suites bureautiques en général (certes en citant expressément Word / Writer), pourquoi parler du prix ?
    Jusqu'à maintenant, je n'ai rien payé pour obtenir OpenOffice et / ou LibreOffice (ne parlons pas des dons car ce n'est pas quelque chose d'obligatoire).

    Mais admettons que je rentre dans ton jeu : développer ça à un coût (si si). Donc prenons deux exemples de chiffres complètement fictifs :
    - je développe 4 fonctionnalités => coût du produit final = 10 000 €
    - je développe 40 fonctionnalités => coût du produit final = 100 000 €

    Dans le premier cas je vais vendre ma licence 100 € et dégager 20 € de bénéfice à chaque vente (20 % donc). En 100 licences j'ai rentabilisé l'investissement et le reste sera du "bénéfice".

    Dans le deuxième cas, au même tarif je dois vendre 1000 licences. Donc autant augmenter le prix si je veux rentabiliser plus vite. Admettons que je garde le coef de 10, je vends ma licence 1000 €. Bah oui mais maintenant je suis trop cher pour le particulier qui va pas acheter. Plusieurs options :
    - il pirate
    - il se tourne vers du libre pas cher
    - il se tourne vers du libre gratuit

    Et maintenant, admettons que je sois blindé, capable de mettre 1000 € dans la licence et que je veuille le faire. Je suis donc un idiot qui se fait refourguer une Dacia au prix d'une Ferrari ? Bah oui je viens d'acheter un produit sur lequel je ne peux pas utiliser les fonctionnalités proposées car c'est pas fait pour être utilisé… Dommage il aurait suffit de ne mettre que les boutons, de les griser et de ne pas mettre le code associé derrière : la boîte aurait gagné du temps et donc de l'argent.

    Qu'un produit ait des bogues me paraît logique (rien est parfait et les logiciels libres n'y échappent pas).

  • [^] # Re: Écriture de deux rapports de projets

    Posté par  . En réponse au journal MS Office c'est vraiment de la merde. Évalué à 3.

    Alors permet moi de ne pas être d'accord.

    Mais LibreOffice (writer) pour des lettres, pages de présentation et éventuellement de petits documents inférieurs à 5 ou 6 pages et sans images ou illustrations, au delà je passe à Latex.

    C'est ton choix et je ne le contredis pas.

    Seulement maintenant explique moi l'intérêt de développer des fonctionnalités complexes dans les suites bureautiques (sommaire, publipostage, etc) si le produit n'est fait que pour des petits documents ?
    J'ai l'impression qu'on parle plus de Wordpad que de Word ou Writer…

    Tu as fais le choix d'utiliser Latex pour les choses plus complexes pour plusieurs raisons mais j'espère que parmi elles il n'y a pas :
    - le fait que ce soit pas fait pour ça
    - la stabilité des suites bureautiques

    Pour moi une suite bureautique (qu'elle soit libre ou propriétaire n'est pas la question) est faites pour traiter du volume et doit être stable : un rapport de 60 pages c'est "rien" et tout indiqué pour ce type de produit.

    Après, il y a des limites et effectivement l'utiliser en tant que gestion commerciale, compta, paie, etc n'est pas du tout le but du produit (légalité, risques, etc).

    Le plus simple serait de poser la question à un développeur qui travaille sur LibreOffice ou OpenOffice et d'avoir son avis (ça évitera qu'on parte tous avec nos "moi je pense que" dont je fais partie).

  • [^] # Re: Écriture de deux rapports de projets

    Posté par  . En réponse au journal MS Office c'est vraiment de la merde. Évalué à 7.

    C'est ironique ou pas ?

    J'ai peut-être mal compris le sens de ton commentaire mais moi je lis :
    "Non mais si tu fais n'importe quoi à vouloir utiliser des fonctionnalités proposées et qui juste marchent pas c'est de ta faute et ne viens pas te plaindre".

    Quand je vois une affirmation forte comme "ça se rédige avec Latex", je me pose la question "Pourquoi ?" ? Qu'est-ce qui m'y oblige ? Une loi ?

    Pourquoi développer des suites bureautiques si complexe si on ne peut les utiliser que pour y taper une lettre tous les 36 du mois ?
    Et encore, on pourrait utiliser Notepad, Kate, que sais-je encore pour cette lettre.

    Pour revenir au fait que le rendu est totalement différent entre deux OpenOffice sur deux machines différentes, je me pose encore des questions.
    Les libristes extrémistes qui traînent parfois la savate ici ne disaient pas que c'était de la faute au vilain Microsoft s'il était difficile d'implémenter les formats Office dans OpenOffice / LibreOffice ?
    Alors pourquoi ne peut-on pas ouvrir correctement un document normé, bien documenté, libre, portable, toussa toussa sur le produit qui est à l'origine de ce format ?