Zacznij
Niezbędny przewodnik po skalowaniu kanałów dla ponad 10 tys. produktów - AdTribes
  1. Strona główna
  2. Baza wiedzy
  3. Ogólne wskazówki dotyczące kanałów
  4. Najlepszy przewodnik po skalowaniu kanałów dla ponad 10 tys. produktów

Najlepszy przewodnik po skalowaniu kanałów dla ponad 10 tys. produktów

Sklepy z dużymi katalogami produktów (10 000 lub więcej produktów) często napotykają problemy z powolnym generowaniem kanałów, przekroczeniem limitu czasu lub wyczerpaniem pamięci podczas tworzenia kanałów produktów. Wtyczka AdTribes Product Feed jest stworzona do obsługi nieograniczonej liczby produktów, ale musisz ją poprawnie skonfigurować dla swojego środowiska serwerowego i rozmiaru katalogu.

Ten przewodnik wyjaśnia, jak poprawić wydajność generowania kanałów dla dużych katalogów. Dowiesz się o przetwarzaniu wsadowym, limitach serwera, zaplanowanym generowaniu, filtrowaniu niepotrzebnych produktów i innych kwestiach związanych z wydajnością.

Dlaczego duże kanały są inne

Gdy masz ponad 10 000 produktów, generowanie kanału w jednym żądaniu może przekroczyć:

  • Limity pamięci PHP – każdy produkt ładuje dane (obrazy, atrybuty, kategorie) do pamięci
  • Maksymalny czas wykonania – skrypty PHP często przekraczają limit czasu po 30-60 sekundach
  • Zasoby serwera –  hosting współdzielony może ograniczać długotrwałe procesy

Wtyczka używa przetwarzania wsadowego do podziału generowania kanału na mniejsze części. Każda partia działa oddzielnie, dzięki czemu unikasz przekroczenia limitu czasu i wyczerpania pamięci. Ponadto możesz zmniejszyć liczbę produktów w kanale, filtrując elementy, których nie potrzebujesz do reklam.

Jak działa przetwarzanie wsadowe

Wtyczka przetwarza kanały w partiach. Każda partia obsługuje określoną liczbę produktów (wielkość partii). Gdy jedna partia się zakończy, następna jest automatycznie planowana. To podejście zmniejsza zużycie pamięci i zapobiega przekroczeniu limitów czasu PHP. W przypadku dużych katalogów wtyczka używa domyślnych, warstwowych wielkości partii w oparciu o całkowitą liczbę produktów:

Liczba produktówWielkość partii
Poniżej 1000200 produktów na partię
1,000-5,000300 produktów na partię
5,000-10,000500 produktów na partię
10,000-50,0001000 produktów na partię
50,000+1500 produktów na partię

Te domyślne ustawienia zapewniają niezawodność. Mniejsze partie zużywają mniej pamięci i rzadziej osiągają limity wykonania. Możesz je jednak nadpisać, jeśli Twój serwer ma więcej zasobów.

Konfiguracja niestandardowej wielkości partii

Jeśli Twój kanał się zawiesza lub przekracza limit czasu, spróbuj zmniejszyć wielkość partii. I odwrotnie, jeśli masz potężny serwer i chcesz szybszego generowania, możesz ją zwiększyć.

Jak zmienić wielkość partii

  1. Przejdź do Product Feed Ustawienia → Ogólne
  2. Włącz Zmień liczbę produktów na partię
  3. Wprowadź wartość w polu Wstaw wielkość partii: (np. 500 lub 250)
  4. Zapisz ustawienia

Rekomendacje:

  • Przekroczenia limitu czasu: Użyj mniejszej wielkości partii (np. 250-500), aby każda partia zakończyła się przed maksymalnym czasem wykonania serwera
  • Błędy pamięci: Zmniejsz rozmiar partii (np. 100-200), aby zmniejszyć zużycie pamięci na partię.
  • Stabilne serwery: Możesz spróbować większych partii (np. 1000-1500), aby przyspieszyć całkowite generowanie, ale tylko jeśli Twój serwer obsługuje je bez błędów.

Dokładniej:

Typ serweraSugerowany rozmiar partii
Współdzielony hosting200–300
VPS lub chmura500–1000
Serwer dedykowany1000–1500

Zawsze testuj po zmianie rozmiaru partii. Jeśli plik nadal się zawiesza, zmniejsz go dalej. Więcej informacji można znaleźć w konfiguracji rozmiaru partii pliku produktu.

Sprawdź i dostosuj limity serwera

Twoje środowisko hostingowe nakłada limity na czas wykonywania PHP i pamięć. Mają one bezpośredni wpływ na generowanie pliku.

max_execution_time

Każda partia działa w ramach max_execution_time PHP. Jeśli jest on zbyt niski (np. 30 lub 60 sekund), partie mogą zostać przerwane przed zakończeniem.

  • Zalecane: Co najmniej 300 sekund (5 minut) dla dużych katalogów
  • Jak sprawdzić: Przejdź do WP Admin → WooCommerce → Status i znajdź wartość PHP Time Limit w sekcji Środowisko serwera.
  • Jak naprawić: Zwiększ limit w konfiguracji serwera, dodając set_time_limit(300) do pliku wp-config.php lub skontaktuj się ze swoim dostawcą hostingu.

memory_limit

Generowanie pliku ładuje dane produktów do pamięci. Podczas przetwarzania tysięcy produktów na partię, niski limit pamięci może spowodować krytyczne błędy lub niekompletne pliki.

  • Zalecane: 256 MB lub więcej dla 10 000+ produktów
  • Jak sprawdzić: Przejdź do WP Admin → WooCommerce → Status i znajdź wartość WordPress Memory Limit w sekcji Środowisko WordPress.
  • Jak naprawić: Zwiększ limit pamięci w wp-config.php, dodając define('WP_MEMORY_LIMIT', '256M'); lub poproś swojego dostawcę hostingu o zwiększenie limitu.r poproś wsparcie techniczne hostingu o zrobienie tego.

Wtyczka loguje ostrzeżenie, gdy dostępna pamięć jest poniżej 128 MB przed uruchomieniem partii (jeśli logowanie jest włączone). Użyj tego do wykrywania potencjalnych problemów.

Użyj zaplanowanego generowania zamiast ręcznego odświeżania

W przypadku dużych katalogów unikaj polegania na ręcznym odświeżaniu z przeglądarki. Żądania przeglądarki mogą ulec przedawnieniu lub rozłączyć się, zanim wszystkie partie zostaną zakończone. Zamiast tego użyj zaplanowanego generowania.

Interwał odświeżania

  1. Edytuj swój plik i przejdź do zakładki Ogólne.
  2. Ustaw Interwał odświeżania na Co godzinęCodziennie, lub Dwa razy dziennie (Product Feed Elite obsługuje również niestandardowe interwały).
  3. Zapisz feed

Wtyczka używa Action Scheduler do generowania feedu w tle w wybranym interwale. Jest to bardziej niezawodne niż ręczne odświeżanie w przypadku dużych feedów.

Cron serwera (zaawansowane)

Aby uzyskać precyzyjną kontrolę lub w przypadku sklepów o dużym natężeniu ruchu, możesz użyć zadania cron serwera zamiast wbudowanego harmonogramu. Jest to szczególnie przydatne, gdy:

  • Chcesz, aby feedy były generowane o określonych porach (np. poza godzinami szczytu)
  • Twoja witryna ma niski ruch, a cron WP może nie działać wystarczająco często
  • Musisz rozłożyć w czasie generowanie wielu dużych feedów

Szczegółowe instrukcje znajdziesz w Jak odświeżyć feed produktu za pomocą zadań cron.

Wyłącz żądania generowania feedu HTTP

Po kliknięciu Odśwież na stronie Zarządzaj feedami, wtyczka może inicjować generowanie feedu za pomocą żądań HTTP. W przypadku dużych sklepów lub ograniczonego hostingu może to powodować przekroczenia limitu czasu lub niekompletne feedy.

Wyłącz żądania generowania feedu HTTP wymusza generowanie feedu tylko za pomocą Action Scheduler (lub cron serwera). Żadne żądania HTTP nie są używane do rozpoczynania ani kontynuowania partii.

Jak włączyć

  1. Przejdź do Product Feed → Ustawienia → Ogólne
  2. Włącz Wyłącz żądania generowania feedu HTTP
  3. Zapisz ustawienia

Kiedy używać:

  • Twój feed ciągle się zawiesza lub przekracza limit czasu podczas klikania Odśwież
  • Używasz niestandardowego rozmiaru partii (przetwarzanie partii domyślnie wyłącza przetwarzanie HTTP w tym przypadku)
  • Generujesz feedy za pomocą zaplanowanego odświeżania lub cron serwera

Więcej informacji znajdziesz w Co robi opcja „Wyłącz żądania generowania feedu HTTP”?.

Filtruj niepotrzebne produkty

Uwzględnienie w feedzie tylko potrzebnych produktów skraca czas przetwarzania i zmniejsza rozmiar pliku. Użyj filtrów, aby wykluczyć produkty, które nie są istotne dla Twojego kanału.

Typowe strategie filtrowania

CelTyp filtruPrzykładowy warunek
Uwzględnij tylko dostępne produktyUwzględnijStatus magazynowy = w magazynie
Uwzględnij produkty z określonej kategoriiUwzględnijKategoria zawiera [docelowa kategoria]
Uwzględnij produkty powyżej określonej cenyUwzględnijCena wyższa niż X
Wykluczyć produkty niedostępne w magazynieWykluczStatus magazynowy = brak na stanie
Wyklucz produkty bez obrazówWykluczGłówny obraz jest pusty
Wyklucz produkty o bardzo niskiej cenieWykluczCena niższa niż X
Wyklucz określone kategorieWykluczKategoria zawiera [nazwa kategorii]
Wyklucz określone marki lub tagiWykluczMarka/Tag zawiera [wartość]

Mniej produktów oznacza mniej partii i szybsze generowanie pliku. Aby uzyskać wskazówki krok po kroku, zobacz Jak tworzyć filtry dla pliku produktu.

Produkty zmienne i warianty

Jeśli używasz produktów zmiennych, rozważ:

Te opcje znajdują się w zakładce Ogólne pliku i mogą znacznie zmniejszyć liczbę przetwarzanych produktów.

Podsumowanie kwestii wydajności

CzynnikZalecenie dla ponad 10 000 produktów
Rozmiar partii200–500 na hostingu współdzielonym; 500–1000 na VPS/dedykowanym
max_execution_time300 sekund lub więcej
memory_limit256 MB lub więcej
Metoda odświeżaniaZaplanowane (co godzinę/codziennie) lub cron serwera, nie tylko ręczne
Generowanie HTTPWyłącz, jeśli pliki utkną lub przekroczą limit czasu
FiltryWyklucz produkty niedostępne, z nieistotnych kategorii lub o niskiej wartości
Produkty z wariantamiUżyj „najniższej ceny” lub „domyślnego wariantu”, gdy jest to odpowiednie

Rozwiązywanie typowych problemów

ProblemRozwiązanie
Kanał utknął podczas przetwarzaniaZmniejsz rozmiar partii; włącz opcję Wyłącz generowanie kanału HTTP; sprawdź Pomocy, mój kanał nie aktualizuje się lub jest zablokowany podczas przetwarzania!
Błędy przekroczenia limitu czasuZwiększ max_execution_time do 300+; zmniejsz rozmiar partii
Błąd krytyczny / wyczerpanie pamięciZwiększ memory_limit do 256 MB+; zmniejsz rozmiar partii
Mniej produktów niż oczekiwanoSprawdź filtry i reguły; zobacz Pomocy! Mam zero lub mniej produktów w moim kanale produktów niż oczekiwano
Błędy Action SchedulerPrzejdź do WooCommerce → Status → Zaplanowane Akcje; sprawdź zakładkę Nieudane; zwiększ limity serwera

Potrzebujesz dalszej pomocy?

Jeśli potrzebujesz pomocy w optymalizacji generowania kanału dla Twojego dużego katalogu:

Czy ten artykuł był pomocny?

Powiązane artykuły

Dokończ zakup
AdTribes WooCommerce Product Feed

Najlepsza wtyczka WooCommerce do kanałów produktów

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Zasoby i informacje
Witryny partnerskie
Rymera