Un énorme catalogue produits !

Bonjour à tous,
Je vous fais un petit retour d’expérience sur une intégration de Dolibarr sur notre plateforme.
Nous avons un client, une société dans le domaine de l’électricité qui a souhaité intégrer son catalogue COMPLET à Dolibarr pour ensuite le mettre à jour en automatique selon les mises à jours des fournisseurs. Le défi a été relevé, c’est donc près de 500 000 produits qui ont été insérés en base.

Eh bien ça fonctionne, même si les temps de réponses restent moyens, 3 à 4 secondes pour trouver un produit. Le client est satisfait.

Reste à optimiser la base pour encore l’accélérer. Si vous avez des idées je suis preneur :wink:

Cela dit, ça prouve que Dolibarr peut attaquer des grosses bases sans avoir peur mais l’infrastructure doit être bien taillée et MySQL optimisé.
@ bientôt

Bonjour
Avez vous limité la recherche pour qu’elle se déclenche à 3 caractères au lieu de 1, sinon les premières requêtes renvoient beaucoup de ref et ça ralenti la réponse finale.
J’ai aussi modifié le fichier /core/lib/ajax.lib.php et ajouté un délai sinon le temps qu’on tape la ref, des requêtes inutiles sont faites et j’avais parfois la recherche qui mettait plusieurs secondes dans les commandes fournisseurs (catalogue avec seulement 10000 articles)

l’ajout est vers la ligne 176.

                            if (ui.item.textarea) {
                                $.each(ui.item.textarea, function(key, value) {
                                    if (typeof CKEDITOR == "object" && typeof CKEDITOR.instances != "undefined" && CKEDITOR.instances[key] != "undefined") {
                                        CKEDITOR.instances[key].setData(value);
                                        CKEDITOR.instances[key].focus();
                                    } else {
                                    $("#" + key).html(value);
                                        $("#" + key).focus();
                                    }
                                });
                            }
                            $("#search_'.$htmlname.'").trigger("change");	// To tell that input text field was modified
                        }
                        ,delay: 1000
                    }).data( "autocomplete" )._renderItem = function( ul, item ) {
                        return $( "<li></li>" )
                        .data( "item.autocomplete", item )
                        .append( 

Fred<a><span class="tag">

Fred + item.label + "</span></a>" )
                        .appendTo(ul);
                    };

                });';
    $script.= '</script>';

    return $script;

Fred

1 J'aime

Bonjour,
Oui bien-sûr la limite à 3 caractères est en place et heureusement.
Par contre je note votre astuce pour le délai. Va falloir que j’essaye pour voir ce que ça donne car le catalogue s’allonge tous les jours et donc les temps de réponse ne vont pas s’améliorer !
Merci :wink: