Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lenteur FTP en Python

3 réponses
Avatar
Do Re Mi chel La Si Do
Bonsoir !

J'ai maintenant une liaison ADSL "rapide" ; or, je me rend compte que mes
scripts FTP, écrits en Python, rament lamentablement.

J'ai comparé à FileZilla, et à Dreamweaver (et son FTP intégré). Pour
envoyer une cinquantaine de petits fichiers (entre 1 et 10 ko), cela prend 8
fois plus de temps avec Python.
Pourtant, le script ne fait que :
- se connecter
- envoyer les fichiers, l'un après l'autre, avec storbinary("STOR
- fermer la connexion.

Une idée, pour accélérer les choses ?


@-salutations

Michel Claveau

3 réponses

Avatar
Do Re Mi chel La Si Do
Re !

Résolu, en définissant d'autres droit à l'utilisateur, sur le serveur FTP.
Je suis, maintenant, simplement 10% à 15% plus lent.

MCI
Avatar
Do Re Mi chel La Si Do
Re


Et j'obtiens une vitesse quasi équivalente, en "multi-threadant" l'envoi.
Il m'a suffit de gérer 4 threads, avec 4 connexions simultanées (sur le même
serveur), qui envoient les fichiers placés dans une liste "Queue", pour que
le tour soit joué.


@-salutations

Michel Claveau
Avatar
Sébastien Kirche
Le 3 septembre 2005 à 08:09, Do Re Mi chel La Si Do vraute :

Et j'obtiens une vitesse quasi équivalente, en "multi-threadant"
l'envoi. Il m'a suffit de gérer 4 threads, avec 4 connexions
simultanées (sur le même serveur), qui envoient les fichiers placés
dans une liste "Queue", pour que le tour soit joué.


T'aurais moyen de mettre ce genre de code à dispo ? ou d'en publier une
partie ?

J'avais commencé un programme il y a un moment ou j'ai besoin d'envoyer
N requêtes à des serveurs différents et je me disais que le multithread
était peut-être la solution. En effet si je dois faire mes requêtes en
file et attendre à chaque fois la réponse je ne suis pas couché sachant
que des serveurs peuvent ne pas répondre.

C'est pas pour du ftp mais de l'udp. Cependant ça devrait fonctionner
pareil du point de vue des threads.

En fait c'est pour faire des recherches sur des parties de jeux type
Enemy Territory, Unreal, etc :
- un requête udp sur un serveur "maître" retourne une liste de serveurs
avec des parties en cours (typiquement dans les 2000 serveurs)
- une requête udp sur chaque serveur retourne (peut-être) les
caractéristiques de la partie (nom, type, durée, etc) et des
participants

Avec les résultats, on peut par exemple trouver le serveur sur lequel
joue un copain pour le rejoindre, ou rechercher une carte de jeu donnée.

--
Sébastien Kirche