• [^] # Re: J'ai du mal à comprendre

    Posté par . En réponse à la dépêche Supercopier 3. Évalué à 3.

    Bon alors testons.

    Je prépare les données :

    mkdir qqch1
    mkdir qqch2
    for((i=0;i<100;i++)); do dd if=/dev/urandom of=qqch1/$i bs=1M count=10; done
    for((i=0;i<100;i++)); do dd if=/dev/urandom of=qqch2/$i bs=1M count=10; done
    
    

    Je me prépare un alias, car je vais vider les caches pour chaque essai afin d'être dans des conditions équivalentes.

    alias res="echo 3 > /proc/sys/vm/drop_caches"
    
    

    Voici mes 4 commandes de test :

    • séquentielle

      • avec sync final

        rm -rf qqpart/*; sync; res; time sh -c "echo qqch1/ qqpart/ qqch2/ qqpart/ | xargs -n 2 -P 1 cp -r; sync"

      • sans sync final

        rm -rf qqpart/*; sync; res; time sh -c "echo qqch1/ qqpart/ qqch2/ qqpart/ | xargs -n 2 -P 1 cp -r"

    • parallèle

      • avec sync final

        rm -rf qqpart/*; sync; res; time sh -c "echo qqch1/ qqpart/ qqch2/ qqpart/ | xargs -n 2 -P 2 cp -r; sync"

      • sans sync final

        rm -rf qqpart/*; sync; res; time sh -c "echo qqch1/ qqpart/ qqch2/ qqpart/ | xargs -n 2 -P 2 cp -r"

    Bilan :

    Séquentielle Parallèle
    Avec sync final 59.4 s 59.3 s
    Sans sync final 31.8 s 33.3 s

    Bref, dans mon cas c'est le noyal qui s'occupe de bien faire comme il faut. Oui, les valeurs de dirty_ratio, dirty_expire_centisec, dirty_background_ratio… ne sont pas celles par défaut. Ce sont celles qui correspondent à mon usage.