Hallo,
Ich hatte seit langem Probleme Kategorien neu hoch zu laden, der Prozess wurde ab 700 kategorien langsamer und wenn es dann an die 1000 ging stand der Upload quasi komplett still.
Es war mir immer deswegen ein Graus kategorien neu hochzuladen. Ich habe in meiner verzweiflung extra den server gewechselt um mehr IO performance für den Upload zu haben - erfolglos.
Trotz fähiger Hardware versagt der Upload von mehr als 1000 Kategorien auf einmal.. der Server frisst sich einfach fest und ist dann aufgrund völliger IO überlastung trotz cache aud auslagerung
in den Arbeitsspeicher und Optimierungen an allen Komponenten am Ende seiner Ressourcen.
8 Kerne mit 64GB ram, SSD, Ubuntu 18.04, NGINX 1.14.0, PHP7.2-FPM und MySQL5.7 - und keine chance.
Ich habe dann herausgefunden das die Tabelle "jtl_connector_category_level" offenbar alle paar sekunden neu befüllt und dann wieder geleert wird ..
Weil sich diese allerdings als normale innoDB- Tabelle auf der Festplatte befindet und alle 2 sekunden etwa auf 4000 einträge anwächst dann wieder geleert wird schreit die SSD nach einiger Zeit keuchend nach seiner Mama.
Ich habe nun die Tabelle "jtl_connector_category_level" vom Typ "InnoDB" zum typen "memory" geändert und habe dadurch scheinbar sämtliche Probleme gelöst ..
statt eines Uploads der auch mal 6 stunden dauerte und regelmäßig wegen timeouts abbrach ist der ganze vorgang nach der umstellung in einem rutsch jetzt innerhalb von 15 minuten abgeschlossen gewesen.
(~4800 kategorien die ich vorher immer nur in schritten von höchstens 200 stück zuverlässig neu hochladen konnte)
ich habe aufgrund der Tabellen constraints diese einfach komplett gelöscht und neu erstellt:
(duch PHPmyAdmin exportiert und nur ENGINE=innoDB durch ENGINE=memory ersetzt)
Wawi-Version : 1.4.29.1
Shopware-Version : 5.5.10
Connector-Version : 2.2.1.4
ich habe bisher keine negativen auswirkungen feststellen können .. evtl kann jemand der den Connector betreut etwas dazu sagen ?
Mit besten Grüßen
- Markus
Ich hatte seit langem Probleme Kategorien neu hoch zu laden, der Prozess wurde ab 700 kategorien langsamer und wenn es dann an die 1000 ging stand der Upload quasi komplett still.
Es war mir immer deswegen ein Graus kategorien neu hochzuladen. Ich habe in meiner verzweiflung extra den server gewechselt um mehr IO performance für den Upload zu haben - erfolglos.
Trotz fähiger Hardware versagt der Upload von mehr als 1000 Kategorien auf einmal.. der Server frisst sich einfach fest und ist dann aufgrund völliger IO überlastung trotz cache aud auslagerung
in den Arbeitsspeicher und Optimierungen an allen Komponenten am Ende seiner Ressourcen.
8 Kerne mit 64GB ram, SSD, Ubuntu 18.04, NGINX 1.14.0, PHP7.2-FPM und MySQL5.7 - und keine chance.
Ich habe dann herausgefunden das die Tabelle "jtl_connector_category_level" offenbar alle paar sekunden neu befüllt und dann wieder geleert wird ..
Weil sich diese allerdings als normale innoDB- Tabelle auf der Festplatte befindet und alle 2 sekunden etwa auf 4000 einträge anwächst dann wieder geleert wird schreit die SSD nach einiger Zeit keuchend nach seiner Mama.
Ich habe nun die Tabelle "jtl_connector_category_level" vom Typ "InnoDB" zum typen "memory" geändert und habe dadurch scheinbar sämtliche Probleme gelöst ..
statt eines Uploads der auch mal 6 stunden dauerte und regelmäßig wegen timeouts abbrach ist der ganze vorgang nach der umstellung in einem rutsch jetzt innerhalb von 15 minuten abgeschlossen gewesen.
(~4800 kategorien die ich vorher immer nur in schritten von höchstens 200 stück zuverlässig neu hochladen konnte)
ich habe aufgrund der Tabellen constraints diese einfach komplett gelöscht und neu erstellt:
(duch PHPmyAdmin exportiert und nur ENGINE=innoDB durch ENGINE=memory ersetzt)
SQL:
-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Erstellungszeit: 24. Jun 2019 um 15:46
-- Server-Version: 5.7.26-0ubuntu0.18.04.1
-- PHP-Version: 7.2.19-1+ubuntu18.04.1+deb.sury.org+1
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `jtl_connector_category_level`
--
CREATE TABLE `jtl_connector_category_level` (
`category_id` int(11) UNSIGNED NOT NULL,
`level` int(10) UNSIGNED NOT NULL
) ENGINE=memory DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Indizes der exportierten Tabellen
--
--
-- Indizes für die Tabelle `jtl_connector_category_level`
--
ALTER TABLE `jtl_connector_category_level`
ADD PRIMARY KEY (`category_id`);
--
-- Constraints der exportierten Tabellen
--
--
-- Constraints der Tabelle `jtl_connector_category_level`
--
ALTER TABLE `jtl_connector_category_level`
ADD CONSTRAINT `jtl_connector_category_level` FOREIGN KEY (`category_id`) REFERENCES `s_categories` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Wawi-Version : 1.4.29.1
Shopware-Version : 5.5.10
Connector-Version : 2.2.1.4
ich habe bisher keine negativen auswirkungen feststellen können .. evtl kann jemand der den Connector betreut etwas dazu sagen ?
Mit besten Grüßen
- Markus
Zuletzt bearbeitet: