Visser Labs – WooCommerce Plugins

  1. Home
  2. Kennisbank
  3. WooCommerce Store Exporter Deluxe
  4. Veelvoorkomende exportproblemen
  5. Hoe grote WooCommerce winkels te exporteren met Store Exporter Deluxe

Hoe grote WooCommerce winkels te exporteren met Store Exporter Deluxe

Als uw winkel duizenden producten, bestellingen of klanten heeft, kan een export die prima werkt op een kleine catalogus plotseling vastlopen, time-outen of eindigen zonder bestand op een grotere. Dat is zelden een fout in Store Exporter Deluxe zelf. Het is bijna altijd uw server die het PHP-geheugen of de uitvoeringstijd die is toegestaan voor een enkele aanvraag, overschrijdt.

Quick Export splitst elke export al in batches, dus het probeert niet uw hele catalogus in één keer te verwerken. Toch kan een voldoende grote winkel wat meer PHP-ruimte nodig hebben, en het helpt om te weten waar u moet zoeken als een export niet voltooid wordt. Dit artikel behandelt hoe batchverwerking werkt, welke PHP-instellingen het belangrijkst zijn, en hoe u het Audit Log en de WooCommerce-logs gebruikt om erachter te komen waarom een export is gestopt.

Vereisten

VereisteDetails
PluginStore Exporter Deluxe is actief en gelicentieerd
WooCommerceActief, aangezien exports hun gegevens uit uw WooCommerce-winkel halen
HostingtoegangMogelijkheid om uw PHP memory_limit en max_execution_time te wijzigen, of een host die u kunt vragen deze te verhogen
Administrator toegangEen account met toegang tot het WordPress-admin dashboard

Hoe batchverwerking werkt

Quick Export laadt nooit uw hele catalogus tegelijk in het geheugen. In plaats daarvan splitst het de records die u exporteert in batches van 100 (standaard), en verwerkt vervolgens één batch per aanvraag. Dus een export van 5.000 producten wordt uitgevoerd als 50 afzonderlijke batches in plaats van één enorme query, wat het geheugengebruik voorspelbaar houdt, ongeacht hoe groot uw winkel groeit. De voortgang van elke batch wordt opgeslagen zodra deze is voltooid, dus als u een Quick Export-run bekijkt, telt de voortgangsbalk die u ziet één batch per keer op in plaats van te wachten tot de hele export is voltooid voordat er iets wordt weergegeven. Geplande Exports werken anders. Zie Geplande Export is geen oplossing voor geheugen- of tijdslimietfouten hieronder.

Quick Export: Elke Quick Export-batch is een eigen aanvraag, en elke batch wordt uitgevoerd onder de normale PHP memory_limit en max_execution_time van uw server. De plugin verhoogt deze limieten niet voor een batch, en de Script Timeout-instelling verandert ze niet. Dus voor Quick Export zijn de twee dingen die helpen een kleinere Batch Size (hieronder) en hogere PHP-limieten op uw host. Als exports stoppen met geheugenfouten, of consequent stoppen na ongeveer dezelfde tijd, vraag uw host dan om memory_limit en max_execution_time te verhogen in de PHP-configuratie van uw server.

Geplande Exporteringen: Wanneer een Geplande Export start, vraagt Store Exporter Deluxe PHP om de geheugenlimiet te verhogen naar de WP_MAX_MEMORY_LIMIT van uw site en past de instelling Script Timeout toe als de uitvoeringstijdlimiet. WordPress stelt WP_MAX_MEMORY_LIMIT standaard in op 256 MB, ruim boven het eigen minimum van 64 MB van de plugin. Dat gezegd hebbende, veel hosts blokkeren deze runtime-overschrijvingen en handhaven hun eigen harde limieten, ongeacht wat de plugin aanvraagt. Als een grote Geplande Export nog steeds stopt, vraag uw host om memory_limit en max_execution_time rechtstreeks in de PHP-configuratie van uw server te verhogen.

Script Timeout: Controleer Instellingen → Algemeen → Script Timeout vóór een grote Geplande Export. Het wordt geleverd als Onbeperkt. Als het is gewijzigd in 10 minuten, 30 minuten of 1 uur, stopt een Geplande Export die langer duurt wanneer deze die limiet bereikt. Stel het terug op Onbeperkt voordat u een grote Geplande Export uitvoert. Deze instelling heeft geen invloed op batches voor Snelle Export.

Voor Snelle Export is het verlagen van de batchgrootte (hieronder) de belangrijkste instelling die u controleert. Een kleinere batch heeft minder geheugen en tijd per aanvraag nodig, wat vaak een grote export over de streep trekt, zelfs op een krap begrensde server.

Het aanpassen van de batchgrootte voor zeer grote exporteringen

  1. Open WooCommerce → Store Export vanuit het WordPress-adminmenu.
  2. Klik op Snelle Export in de zijbalk.
  3. Kies op de stap Exporteertype Selecteren wat u wilt exporteren.
  4. Ga door Exporter Velden (en Filters & Sortering, indien van toepassing voor dat type) om de stap Export Opties te bereiken.
  5. Voer onder Batch Instellingen een getal in het veld Batchgrootte in. Het is standaard leeg, wat de ingebouwde waarde van de plugin van 100 records per batch gebruikt.

Het verlagen van de Batchgrootte (bijvoorbeeld naar 25 of 50) maakt elke individuele batchaanvraag lichter qua geheugen en sneller voltooid, wat helpt op een server met een lage memory_limit of max_execution_time. De keerzijde is dat er in totaal meer batches zijn, dus de volledige export duurt meer aanvragen om te voltooien. Er is geen vaste minimumwaarde, dus het is de moeite waard om een kleinere waarde te testen als uw standaard exporteringen degenen zijn die verlopen.

De stap Exporteren Opties van Snelle Export met de sectie Batchinstellingen, waarbij het veld Batchgrootte is ingesteld op 25

Het Audit Logboek gebruiken om een grote export te controleren

Store Exporter Deluxe houdt een overzicht bij van elke exportrun in zijn Audit Logboek, beschikbaar vanuit de zijbalk onder WooCommerce → Store Export. Elke vermelding toont het exporttype, wat het heeft getriggerd, de status en tijdstempels.

De Audit Log-pagina met recente exportuitvoeringen met hun kolommen type, trigger, status, niveau en duur

Klik op een vermelding om deze uit te vouwen. Als de run Mislukt aangeeft, bevat de uitgebreide weergave het foutbericht.

Een uitgebreid Audit Log-item met de status Mislukt, met het Fout-vak met het foutbericht

Een geheugen- of tijdslimietfout werkt anders. Wanneer PHP geen geheugen of tijd meer heeft, stopt de export onmiddellijk, voordat de plugin iets kan vastleggen. De vermelding blijft dan op Running staan zonder foutmelding. Om te bevestigen wat er is gebeurd, ga naar WooCommerce → Status → Logs en zoek naar een log met de bron fatal-errors, of vraag uw host om het PHP-foutenlogboek.

Het Audit Logboek is standaard ingeschakeld. Als het ontbreekt in uw zijbalk, heeft iemand de schakelaar Audit Logboek inschakelen uitgeschakeld onder Instellingen → Audit Logboek.

Datzelfde gedeelte Instellingen → Audit Logboek regelt ook hoeveel details elke vermelding vastlegt, afzonderlijk ingesteld voor Snelle Exporteringen en Geplande Exporteringen. Het standaard Standaard niveau legt al Duur vast. Schakel een bron over naar Gedetailleerd om ook Piek Geheugengebruik vast te leggen.

Het logniveau van Snelle Exports ingesteld op Gedetailleerd

Dit is de moeite waard om in te schakelen terwijl u een grote export afstemt, omdat het u vertelt hoe dicht elke voltooide uitvoering bij uw memory_limit kwam en hoe lang het duurde. Dat laat u zien hoeveel ruimte er over is voordat een grotere export de limiet bereikt.

De veldlijst van het Gedetailleerde niveau met de selectievakjes Duur en Piek Geheugengebruik ingeschakeld

Geplande Export is geen oplossing voor geheugen- of tijdslimietfouten

Een Geplande Export batchet records niet zoals Snelle Export dat doet. Het verwerkt de volledige dataset als één achtergrondtaak via Action Scheduler. De plugin vraagt PHP om meer geheugen en past Script Timeout toe wanneer de uitvoering begint, maar als uw host die overschrijvingen blokkeert, wordt de taak nog steeds uitgevoerd binnen de limieten van uw host. Als één niet-gebatchede taak heeft het doorgaans *meer* geheugen nodig dan een gebatchede Snelle Export, niet minder. Er is geen veld Batchgrootte op het formulier Geplande Export omdat er niets te batchen is.

Wat een Geplande Export vermijdt, is de afhankelijkheid van de browsertab: omdat het als een achtergrondtaak wordt uitgevoerd, is het niet gebonden aan het open blijven van uw browsertab of hoe lang een paginverzoek in uw browser mag duren. Als een Snelle Export vastloopt omdat u de tab niet lang genoeg open kunt houden, lost een Geplande Export dat specifieke probleem op. Als het vastloopt op geheugen of uitvoeringstijd, verlaag dan de Batchgrootte of verhoog in plaats daarvan uw PHP-limieten. Zie voor gedetailleerde instructies Hoe u exporteringen plant in Store Exporter Deluxe.

Probleemoplossing

Een Snelle Export loopt vast of eindigt nooit
Controleer eerst de Audit Log-vermelding voor die uitvoering. Als deze nog steeds Running aangeeft lang nadat de export is gestopt, is een van de volgende twee dingen gebeurd. PHP heeft zijn geheugen- of tijdslimiet bereikt (zie Een export mislukt met een serverfout hieronder om dit te bevestigen), of de browsertab heeft halverwege de verbinding verloren. Na een dergelijke stop behandelt de plugin de export nog tot 30 minuten als lopend, dus een nieuwe Quick Export toont “An export is already running.” Voordat u het opnieuw probeert, gaat u naar Instellingen → Geavanceerd, zoekt u Clear Export Transient onder Onderhoud en klikt u op Wissen. Probeer het vervolgens opnieuw met een kleinere Batch Size, en houd de tab open en actief totdat de export is voltooid in plaats van deze voor langere tijd te verlaten.
Een export mislukt met een serverfout
Een serverfout tijdens een grote export betekent meestal dat PHP halverwege de batch zijn memory_limit of max_execution_time heeft bereikt. In dat geval blijft de bijbehorende Audit Log-vermelding op Running zonder foutmelding, omdat PHP stopt voordat de plugin er een kan registreren. Om dit te bevestigen, gaat u naar WooCommerce → Status → Logs en opent u het logboek met de bron fatal-errors, of vraagt u uw host om het PHP-foutenlogboek. Een regel die begint met “Allowed memory size of” of “Maximum execution time of” bevestigt dit. Als de vermelding Failed aangeeft, vouw deze dan uit om de foutmelding te lezen.

Als dit een Quick Export was, ga dan voordat u het opnieuw probeert naar Instellingen → Geavanceerd, zoek Clear Export Transient onder Onderhoud en klik op Wissen. Als u deze stap overslaat, toont de volgende Quick Export tot 30 minuten “An export is already running.”. Verlaag vervolgens de Batch Size en probeer het opnieuw. Elke batch wordt uitgevoerd binnen de PHP-limieten van uw server, dus vraag uw host om beide PHP-instellingen te verhogen als het probleem zich blijft voordoen. Als dit gebeurt bij een Scheduled Export, controleer dan ook of Instellingen → Algemeen → Script Timeout is ingesteld op Unlimited.
Een grote catalogus loopt nog steeds vast met een kleine batchgrootte
Een Scheduled Export helpt hier niet, aangezien deze de gehele export als één ongebatchte taak uitvoert en meer geheugen en tijd nodig heeft dan Quick Export, niet minder. Klik op Wissen naast Clear Export Transient (Instellingen → Geavanceerd, onder Onderhoud) zoals hierboven beschreven, verlaag vervolgens de Batch Size verder. Elke batch wordt uitgevoerd binnen de PHP-limieten van uw server, dus als de export nog steeds niet kan worden voltooid, vraag uw host dan om memory_limit en max_execution_time direct op de server te verhogen.

Veelgestelde vragen

Wat is een goede batchgrootte om mee te beginnen voor een grote winkel?
Er is geen enkel juist getal, aangezien het afhangt van de geheugen- en tijdslimieten van uw server. Begin met de standaardinstelling van 100. Als exports verlopen, probeer dan 50, dan 25, totdat u een grootte vindt die consistent wordt voltooid.
Vertraagt een kleinere batchgrootte de hele export?
Het kan een kleine hoeveelheid overhead toevoegen, aangezien meer batches meer individuele verzoeken betekent. Maar een kleinere batchgrootte die daadwerkelijk wordt voltooid, is in de praktijk sneller dan een grotere die verloopt en opnieuw moet worden gestart.
Voorkomt een Geplande Export time-outs volledig?
Nee. Het verwijdert de afhankelijkheid van de browser-tab die een Snelle Export heeft, maar het draait als één enkele, niet-gebatchte taak. Als uw host de geheugen- en tijdsoverschrijvingen van de plugin blokkeert, moet de taak nog steeds binnen de memory_limit en max_execution_time van uw host worden voltooid, zonder dat er een Batchgrootte-instelling is om op terug te vallen. Een Geplande Export kan zelfs eerder verlopen op een zeer grote catalogus dan een Snelle Export met een kleine batchgrootte.

Meer hulp nodig?

Als u Store Exporter Deluxe gebruikt en een grote export nog steeds niet kan worden voltooid na het proberen van de bovenstaande stappen, open dan een ondersteuningsticket en ons team zal u helpen het werkend te krijgen.

Als u de gratis Store Exporter plugin gebruikt, vraag dan op het WordPress.org supportforum en ons team zal u daar te woord staan.

Was dit artikel nuttig?

Gerelateerde artikelen

Bronnen & Hulp