Magento è la piattaforma giusta per i prodotti 1M?


31

Ho bisogno di vedere come Magento si esibirà con SKU 1M; ma faccio fatica a trovare un ampio set di dati di dati di esempio da scaricare - o trovare un metodo fattibile per generare il feed per l'importazione (e il processo di importazione stesso).

  1. Qualcuno sa dove potrei scaricare un ampio set di dati fittizi per l'importazione (o un mezzo ragionevole per generarlo e importarlo)?
  2. Quali problemi prevedi con una dimensione del catalogo di 1 milione di prodotti +?
  3. Esiste un modo per condividere un DB di singoli prodotti con più negozi indipendenti (aziende diverse)?

Risposte:


36

tl;dr ->" Può Magento gestire i prodotti 1M ", la risposta è , ma con alcune considerazioni. Su questa scala si potrebbe presumere che tu abbia un volume per sostenere un investimento decente in infrastrutture e personale per commercializzare un catalogo di questa proporzione.

Primo:

I dati di esempio di Magento CE, come avrai visto, contengono solo una manciata di prodotti di varie categorie. I dati di esempio EE ne contengono di più e li hanno separati per tipo di negozio.

Puoi scaricare i dati del campione CE qui . Dovrai scaricare i dati di esempio EE dal tuo account MagentoCommerce.com se hai EE.

Troverai, tuttavia, che non si tratta di centinaia o addirittura migliaia di prodotti. Consiglio di importare prodotti nel database : un buon esercizio per capire come funziona questo processo. Questo può essere fatto tramite il flusso di dati di Magento o tramite l'importazione dell'API: le informazioni su come eseguire questa operazione su larga scala sono prontamente disponibili su Internet.

Un avvertimento: il flusso di dati è notoriamente lento, quindi potrebbe richiedere un bel po 'di tempo per importare un catalogo delle dimensioni richieste. Per quanto ne sappia, non esiste un catalogo di esempio in natura con centinaia di migliaia o milioni di prodotti esistenti.


Modifica 1/7/14:

@ryaan_anthony su Twitter ha rilasciato una stored procedure MySQL che genererà centinaia di migliaia di prodotti https://gist.github.com/ryaan-anthony/6290973


Alcune letture su Magento API e Dataflow:

http://www.magentocommerce.com/knowledge-base/entry/introduction-to-magento-dataflow

http://www.magentocommerce.com/api/soap/catalog/catalog.html

Secondo:

Prodotto, riscrittura URL e indicizzazione dell'inventario sono i problemi principali quando si esegue un catalogo di queste dimensioni . Anche la ricerca nel catalogo può essere piuttosto lenta, ma può essere mitigata se si utilizza Apache Solr (integrazione fornita nativa a EE). Ci sono plugin CE per Solr - Sonassi ne ha uno e altri possono essere trovati tramite Google.

Ho gestito i cataloghi nella gamma 700k, che è ancora molto meno di 1 milione e l' indicizzazione può richiedere ore e ore . Questo è stato risolto in Enterprise 1.13 . Mi raccomando di dare un'occhiata dura a Enterprise Edition a questa scala. Questo è possibile con CE? Assolutamente; ma i miglioramenti dell'indicizzazione in EE 1.13 sono specificamente adattati a questo tipo di situazione.

Terzo:

Il multi-store è nativo di Magento; puoi impostare diverse categorie e siti Web di primo livello. Non tutti devono condividere lo stesso catalogo: puoi scegliere quali prodotti condividere tra i siti o decidere di mantenere separato il tuo catalogo. Maggiori informazioni qui:

http://www.magentocommerce.com/knowledge-base/entry/overview-how-multiple-websites-stores-work

Più negozi, visualizzazioni di negozi hai in Magento, più voci di indice e più il tuo catalogo flat potrebbe gonfiarsi al punto che il catalogo flat potrebbe effettivamente essere un drenaggio delle prestazioni. Ancora una volta, Sonassi ha un sacco di informazioni su questo qui su Magento.SE e sul loro sito . Avrai voglia di cercare alcune delle risposte di Sonassi su Magento.SE per gestire / ridimensionare Magento quando entri in questo regno della gestione dei prodotti.

L'installazione di ogni persona è diversa: è necessario testare, perfezionare e implementare costantemente le modifiche per trovare le impostazioni più adatte al proprio catalogo, nella propria situazione.


Ciao! Grazie mille per tutte queste informazioni.
Gabriele,

Il DB viene creato automaticamente da un sistema collegato a molti editor che aggiornano regolarmente il nostro DB. Forniamo il DB finale e gli aggiornamenti alle librerie e ora vogliamo offrire ai nostri clienti una soluzione di e-commerce completa. L'ho fatto per importare tutti i dati tramite Magmi. È fantastico e perfetto per noi. Per quanto riguarda l'indicizzazione, sceglierò la soluzione Solr. Non riesco a utilizzare MultiStores poiché devo fornire l'accesso amministrativo completo ai miei clienti. Grazie ancora!
Gabriele,

Interessante che tu non abbia menzionato la considerazione di hosting, ottimizzazione db, alternative o miglioramenti per il flusso di dati, l'uso del clone anziché l'istanza di fabbrica per l'elaborazione di dati di grandi dimensioni, l'ottimizzazione della cache e delle prestazioni e altre opzioni di prestazioni per l'ottimizzazione di magento per un catalogo di questo dimensione. Attendere diverse ore per l'indicizzazione sembra doloroso ... perché non eseguire un cluster o utilizzare il proxy mysql per elaborare l'indicizzazione e consentire la sincronizzazione di una tabella DB al termine? Solo alcuni pensieri di base ... ci sono anche metodi più avanzati disponibili.
mprototype,

@mprototype sentiti libero di aggiungere la tua risposta come ritieni opportuno.
Philwinkle,

7

Usa ApiImport per importare una così grande quantità di prodotti. Si basa su ImportExport e molto velocemente ... Ho gestito fino a 500k (indicizzati) prodotti semplici all'ora su una macchina virtuale.

Esegui test / benchmark_import_api.php. Modifica quel file per rimuovere i tipi di entità (e sottotipi) che non ti servono. Potresti anche voler impostare USE_API su false per risultati più rapidi.


4

Abbiamo usato http://www.icecat.biz/en/ in passato per estrarre i feed di prodotto da caricare nei dati di esempio. Ci sono anche alcune estensioni di Magento, ma non hanno mai funzionato per noi, quindi siamo arrivati ​​a scrivere la maggior parte dei nostri script di importazione.


4

per ottenere oltre un milione di prodotti in magento. scrivere semplici script php che generano file csv di importazione prodotti supportati da magmi con diversi tipi di prodotti. Quindi utilizzare i magmi per importarli

http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Magmi_Wiki


Magmi è un importatore di CSV, giusto? Quindi devo alimentare Magm con i file CSV che contengono il catalogo, giusto?
Gabriele,

1
sì, nel wiki c'è la documentazione, come formattare il tuo csv per l'importazione del prodotto e quindi creare il profilo con l'interfaccia web e usare il comando cli per importarlo do / usr / bin / php magmi.cli.php -profile = custom_options -mode = create -CSV: nomefile = "$ {x}"; fatto
sutha kathir

CSV è una delle fonti di dati che Magmi può usare. Tieni presente che Magmi ha un'interfaccia datapump in cui puoi inserire dati, senza file CSV.
Axel,

3

Non proprio una risposta completa in quanto sembra che altri abbiano già affrontato la maggior parte delle tue domande, solo alcune cose da aggiungere:

1) Ho avuto questa soluzione: quasi un milione di prodotti Magento casuali in dieci CSV Puoi provare anche http://beta.generatedata.com/ .

2) Come già accennato da Philwinkle: l'indicizzazione, il flusso di dati e la ricerca sono l'ostacolo più grande da superare con un set di dati così ampio. EE1.13 fa un lavoro migliore nel gestire dati così grandi (Trigger MySQL, considerando lo stato di tutti i prodotti / categorie, ecc.), Ma tieni presente che è ancora una versione iniziale (x.0.0) in questo momento, tendo ad aspettare alcuni rilasci per consentire ad altri di affrontare l'onere della ricerca dei bug prima di considerarlo per un ambiente di produzione. Infrastruttura e ottimizzazione è la chiave. L'aggiornamento futuro è anche qualcos'altro da considerare, poiché ALTER TABLEnon vengono combinati durante gli aggiornamenti e possono richiedere ore / giorni per eseguire l'aggiornamento sul DB:

Qualche ulteriore lettura sul tema dell'indicizzazione su un grande database:

3) Il modo più semplice per condividere i dati tra due negozi Magento sarebbe tramite una richiesta REST / SOAP alle API Magento delle altre società. L'alternativa sarebbe semplicemente scaricare il catalogo da una società e consentire all'altra di raccoglierlo e analizzarlo, potrebbe essere molto più veloce che passare attraverso l'API con oltre 1 milione di prodotti.


1
1) Lo guarderò. 2) Sì, sono andato per Magmi in CE. Vedremo come si esibirà. 3) Sì, penso che il dumping dei dati e l'importazione nel nuovo negozio sarà la nostra scelta, a meno che non troveremo un modo per condividere un DB di prodotti comuni tra tutti gli e-store. Grazie mille B00mer!
Gabriele,

3

Abbiamo appena lavorato su un progetto con prodotti 1.2m (nessun attributo e in particolare solo una vista dello store) usando magento 1.7.x e qui ci sono alcune delle esperienze che abbiamo avuto:

  1. In realtà l'importazione dei prodotti è abbastanza buona, penso che la nostra importazione iniziale abbia richiesto circa 1,5 ore

  2. Quando eseguiamo il reindex il nostro disco io soffrirebbe estremamente, la soluzione era quella di ottenere una buona quantità di RAM (istanza ssd di amazon ram 32 GB). Ottimizza le impostazioni di innodb in cui mettiamo l'allocazione di memoria del pool di innodb a un po 'più della dimensione del database e soprattutto cambiando il buffer di tabella temporanea da 16mb a 128mb di default, questo è davvero ciò che ha salvato il nostro processo di reindicizzazione.

  3. La cache, utilizzando solo la cache APC per la cache veloce, i file per la cache lenta, la disattivazione della registrazione e dei moduli non necessari insieme alla tabella piatta e un paio di altre ottimizzazioni rende il server che consegna le pagine del prodotto html (non l'intera pagina) in 200 ms. Nella nostra lista delle cose da fare è la cache di vernice.

  4. Nei casi in cui combattiamo e uccidiamo molti problemi di deadlock (alcuni in admin rimangono ancora), probabilmente una versione più recente di Magento non darà questi problemi secondo i forum.

Dirò che ci sono davvero problemi con i prodotti da 1,2 milioni, non è una cosa che consiglierei di fare senza avere il team e le risorse adeguati, ma se hai il tempo per farlo funzionare.

Non so quale altra piattaforma farebbe un lavoro migliore.


2

Sempre buono questo, sì, Magento CE ed EE possono (per esperienza, non teoria usando i set di dati forniti) anche se ovviamente EE è migliore per l'indicizzazione. Magmi va bene, tuttavia, quando vieni reindicizzato per il carico iniziale, avrai un problema serio. Inoltre, hai una manutenzione in cui se il 3% dei prodotti cambia quotidianamente, devi aggiornare 30.000 prodotti con l'indice automatico, non sarai in grado di eseguire un reindex giornaliero. Tutto ciò si riduce a due cose: l'hosting in cluster e l'onboarding dei fornitori abilitato per il delta, che sono i domini delle aziende aziendali.

Le persone sembrano pensare che il lavoro finisca quando i prodotti vengono caricati, tuttavia è quando inizia il duro lavoro. Se hai troppi negozi, livelli di prezzo, il tuo hosting deve raddoppiare, quindi a tutti gli effetti il ​​95% non ha possibilità di implementarlo, il 99% non ha possibilità di mantenerlo. Milioni di prodotti equivalgono a medie e grandi imprese: se i tuoi consulenti non hanno questa esperienza, si aspettano che l'infrastruttura crolli a medio e lungo termine.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.