Kedves kollégák!
Két(több)nyelvű honlapot építek az i18n modul alkalmazásával: magyar a törzstartalom, angol fordítások készülnek a node-okról helyenként. Gyakorlatban úgy néz ki, hogy csak azokról a node-okról, amelyek érdekelhetik az idegenajkú közönséget, készítek fordítást - késleltetve. Tehát a magyar és az angol tartalom számossága nagyságrendben eltér egymástól.
A site úgy van beállítva, hogy elsődlegesen a ->látogató kliens nyelvére hangolódik rá. Ha magyar, akkor magyar oldalakat kap, ha más, akkor angolt - illetve azon node-oknál, ahol nincs angol fordítás, ott magyar node-ok jönnek föl. Ez elvben teljesen jó, gyakorlatban is működik, de az angol dimenzió nagyon-nagyon lassú.
A jelenség ismerős számomra régebbről (áttételesen, nem Drupalból): amikor egy adatbázisban olyan lekérdezést indítunk el, amelyik az alaptáblának csak töredék rekordkészletét eredményezi, akkor szokott ilyen hosszú lenni a válaszidő.
--------
Hálás vagyok, ha ötletet (netán élő tapasztalatot) adtok, hogy lehet-e javítani ezen a teljesítményen? (PHP-ben, MySQL-ben zöldfülű a kérdező.)
Köszönet és üdv,
Füzi Péter
megoldást találtam
... (magad uram, ha szolgád nincs).
Megtaláltam a megoldást: az i18 beállításoknál másik lehetőséget választottam, és ez megszüntette a jelzett teljesítménygondot. Részletek (mint bevált gyakorlat) alább.
Köszönet, ha valaki töprengett rajta.
---------
Az admin/settings/language/i18n/configure ablakban a Content selection mode -nál a 2. opciót használtam, arra szólt a probléma jelzés. Ez "Mixed current language (if available) or default language (if not) and language neutral." neve után is a legbonyolultabb query-nek tűnik az összes közül. Mentségemre szolgáljon, a kezdet kezdetén tudatosan választottam ezt, mondhatjuk, ez volt a honlapgazda igénye! A teljesítménygond számszerűen így néz ki: magyar látogató címlap: 3-5mp, angol látogató Home: 40-60mp válaszidő.
A megoldás az lett, hogy átállítottam a tartalomkiválasztási módot az elsőre "Current language and language neutral.". Ez behozta az angol címlap átlagos válaszidejét is 8mp alá.
Tanulság: hamarabb kezdem ezen túl a kísérletezést!
Köszönet és üdv: Péter