| Auteur |
Message |
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
24/02/2016 06:59:32
"Citer"
Bonjour,
j'importe des catalogues de produits avec des descriptions courtes et longues (il s'agit de livres) dans mon site mais même en décochant les colonnes images afin de les importer ultérieurement, l'importation prend toute la nuit. Il s'agit d'un fichier contenant environ 1300 lignes et 24 colonnes.
J'ai essayé en décochant les 3 cases sous "importer les lignes sélectionnées", j'ai sélectionné seulement les lignes où il y avait des produits etc..., mais visiblement, lorsque je lance l'importation, ça mouline pendant des heures et finalement, l'importation ne se fait pas.
Pour les premiers catalogues, (500 produits environ), cela prenait une heure mais là, c'est vraiment long, j'ai lancé l'import à 17 h 30 hier soir et ce matin, à 7 h, ça moulinait encore. Si vous avez une solution, je suis preneuse.
|
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
24/02/2016 17:16:13
"Citer"
Finalement, il y avait quelques incohérences dans les fichiers xls importés. En fractionnant les fichiers par tranche de 500 produits, cela prend environ 10' par fichier (photos incluses). Cela me paraît beaucoup mais c'est peut-être dû au nombre de colonnes : dans l'exemple de la vidéo, il y en a moins de 10.
|
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
25/02/2016 07:51:01
"Citer"
Bonjour,
je me réponds et donc voilà l'histoire : excel 2010 et 2013 convertissent toutes les virgules de dizième en point de dizième, à l'américaine. Lors de l'importation, nous avions donc choisi le point comme séparateur sinon les valeurs dans les rubriques "catégories" et "caractéristiques" n'étaient pas bien prises en compte.
exemple :
catégorie fournit par excel --> 4.14
catégorie attendue par Prestashop --> 4,14
Cela génère un autre problème : l'url des images, dans mon cas, qui se décompose ainsi : http://le.serveur.distant/ledossierdistant/lenomdelimage.png
Les points sont interprétés par prestashop comme des séparateurs puisque nous avions choisi le point comme séparateur de valeurs et c'est le drame. Chaque produit se voit affecter une image dont l'url est http://le
Solution : faire l'import en deux étapes : une en déselectionnant la colonne des url des images, et la seconde en ne sélectionnant que les colonnes des images et en sélectionnant la virgule comme séparateur.
L'importation est un peu plus rapide mais reste toute de même supérieure à 2' pour 500 produits.
En tout cas, le problème d'affichage des couvertures que nous rencontrions par ailleurs est résolu.
La lenteur est toujours présente en revanche. Nous continuons d'investiguer.
|
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
26/02/2016 00:31:43
"Citer"
re-bonjour,
nous avons importé un catalogue de 4978 produits, sous format xlsx, avec "plus que" 19 colonnes en deux temps (les images sont importées en deuxième étapes), en 8 heures environ. Cela me semble un peu long mais bon, ça se fait (de nuit).
C'est mieux que les 100 produits importés en 1 heure, avec timeout à la clef, dans Prestashop.
|
Sitolog
Inscrit le :
04/12/2011
Messages :
524
|
Publié :
27/02/2016 00:31:03
"Citer"
Bonjour,
Le séparateur entre les url d'images est paramétrable à l'étape 1 (séparateur de listes). Vous pouvez donc parfaitement utiliser autre chose que le point et la virgule pour éviter tout risque de confusion avec le séparateur décimal.
Concernant la vitesse d'importation. Parlons d'abord hors images :
Bien sûr cela dépend du nombre de colonnes et surtout de la taille de leur contenu, mais en gros les vitesses moyenne observées vont de 0,15 sec à 0,8sec par ligne.
Au delà de 1 sec c'est déjà que quelque chose ne fonctionne pas bien (réseau, serveur,...).
5000 lignes ce n'est pas beaucoup et cela devrait prendre environ 50 min. Plus d'une heure trente ce n'est pas bon.
Attention aux serveurs mutualisés type OVH qui insèrent des pauses entre les requêtes quand elles sont trop nombreuses (quota de requêtes maxi par tranche de 60 minutes)
Concernant les images. Bien sûr le 1ere élément d'optimisation est la taille des fichiers. Ensuite il faut bien distinguer images locales et urls HTTP ou FTP. Les images locales sont transférées du PC vers le serveur par FTP, c'est donc d'abord la connexion ADSL du PC jusqu'au serveur qui entre en ligne de compte.
Les images HTTP ou FTP c'est très différent, PrestaPricing ne fait que donner l'URL aux scripts de PrestaShop et c'est PrestaShop qui va chercher le fichier via un transfert direct de serveur à serveur. C'est donc la performance des deux serveurs et de leur connexion qui est primordiale.
Crdlt
Franck
|
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
01/03/2016 07:50:13
"Citer"
Bonjour,
finalement, ce sont les caractéristiques qui ralentissaient le processus d'importation. Sans les caractéristiques, nous avons importé près de 45 000 produits en environ 5 h. Les images sont téléchargées sur le serveur de notre fournisseur et notre réseau est assez lent (adsl avec un débit maximum de 4 Mo et une distance de plus de 3 km du dslam).
Je me demande s'il faut une mise en forme particulière pour les caractéristiques : nous avons 5 colonnes pour les caractéristiques.
|
Sitolog
Inscrit le :
04/12/2011
Messages :
524
|
Publié :
01/03/2016 09:03:49
"Citer"
Bonjour,
Pour les colonnes caractéristiques, à partir du moment ou elles sont mappées et affichées, vous ne pouvez pas agir sur grand chose qui pourrait influer sur la vitesse.
Au niveau du mappage, il est préférable question vitesse, mais on a rarement la possibilité de le faire, que ces colonnes contiennent le numéro d'une valeur de caractéristiques déjà existante plutôt que la valeur elle même. Car lorsque c'est une valeur, cela demande une requête de plus pour aller vérifier si elle existe ou pas et chercher son identifiant.
Je pense deviner ce qui ralenti fortement dans votre cas et je ferai des tests et recherche d'amélioration dans ce sens : lorsque les caractéristiques sont crées à la volée, lors de l'import, après chaque ligne le programme parcourt toutes les autres lignes à la recherche de valeurs de caractéristiques identiques. Quand il en trouve il leur indique l'identifiant de création de cette valeur. Cela permet d'éviter que le programme re-vérifie l’existence de cette valeur commune x fois.
Sur un fichier de taille classique (moins de 2000 lignes), ce processus a déjà un impact non significatif. J'imagine donc que sur un fichier de 54 000 lignes, cet effet "récursif" puisse être à l'origine du ralentissement, plus que l'importation elle même.
Avez vous testé avec l'option (étape 3) qui fait que toutes les valeurs de caractéristiques sont créées en une seule étape, au moment de la lecture du fichier (donc avant l'import des produits eux mêmes) ? Quand on utilise cette option, les valeurs sont d'abord ajoutées dans la base et les colonnes caractéristiques de la table sont modifiées (le ? est remplacé par l'identifiant créée). De ce fait le traitement de ces colonnes est ensuite plus rapide (plus de création, plus de recherche d'id, juste des requêtes d'associations au produit) lors de la création ou mise à jour des produits.
Autre piste : les requêtes de création de produits sont beaucoup plus complexes et lentes que celles d'une simple mise à jour. Aussi il pourrait être intéressant de tenter de faire ce type d'import très massif en deux fois : 1ere fois en mode "Créer les les produits non existants" sans mapper les colonnes de caractéristiques, puis une seconde fois en décochant le mode de création et en ne mappant que la clé de synchro et les colonnes de caractéristiques (combiné peut être avec l'option de création en amont comme expliqué ci dessus).
Pourriez vous me faire passer votre plus gros fichier par mail privé, que je fasse des essais dans ce sens ? ([email protected])
Merci.
Crdlt
Franck
|
CFCD
Inscrit le :
18/02/2016
Messages :
9
|
Publié :
08/03/2016 13:49:23
"Citer"
Bonjour,
nous avons essayé les différentes manières conseillées, en particulier, comme vous le suggériez, en cochant "En une seule fois..."
J'ai lu sur le tracer log que le logiciel vérifiait également les tables avant d'écrire les valeurs donc, aussi lent que lorsque je coche "plus tard au moment de l'importation ligne par ligne". Ces valeurs sont différentes pour chaque produit car nous vendons des livres donc : auteurs différents, plus de 670 éditeurs dans la base, collections différentes, nombre de page différent, date de publication... impossible d'imposer une valeur identique (ce serait trop simple et moins amusant).
Du coup, nous avons retravaillé nos fiches produits et inséré les caractéristiques directement dans la description longue en utilisant des balises.
Une macro ou deux, quelques "concaténations", un peu d'huile de coude et du café directement servi en intraveineuse et nous devrions avoir mis à jour le catalogue ce soir / cette nuit. 
|