[TYPO3-german] Extbase beschleunigen für jQuery autocomplete

Chris Wolff - AERTiCKET AG cwolff at aer.de
Thu Jan 30 17:50:24 CET 2014


Hi Till,
natürlich kann man das beschleunigen.
Gibt verschiedene ansätze:

1. Liste direkt im html code der seite. Das spart extra http request. Und die liste ist im browser super performat.
Nachteil: wenn die liste sehr gross ist könnte sie sich nachteilig auf die ladezeit auswirken.

2. eID
eID scripte werten sehr früh aufgerufen bevor ein komplettes Typo3 initalisiert ist. Dadurch kannst du sehr performant agieren.
Nachteil (du must eventuell für dich nötige teile selbst initalisieren)

3. die Liste z.b in dateien schreiben.
Dies kann man eventuell auch splitten. Sagen wir deine extension sucht nach den ersten zwei ziffern los
Könntest du auf deinem server also folgende dateien bereitstellen
10.js
11.js
12.js
...
Der Ajax request wüsste das es für jede der start kombinationen eine vorbereitet teil liste gibt. Die er laden kann.

Ich hab z.b gerade für ein formular eine lösung mit einer liste im html gebaut. Dort gibt es meherer felder mit "überschaubaren auto vervollständigungs listen.

Die ich dann in eine data-autocomplete attribut geschrieben habe. Das jQuery dann ausließt. Und für das jeweilge feld aus autoverfolständigung nutzt.

Gruss chris                   



-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von g4-lisz at tonarchiv.ch
Gesendet: Donnerstag, 30. Januar 2014 17:28
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Extbase beschleunigen für jQuery autocomplete

Hallo allerseits,

unsere Seite benutzt ein Eingabefeld mit jQuery.autocomplete zur Eingabe von PLZ/Ort. Die Liste wird über AJAX geladen.

Das funktioniert ganz gut, nur leider lässt die Performance sehr zu wünschen übrig. Der Server, der sonst recht schnell ist, braucht für die Antwort jeweils 1 .. 2.5(!) Sekunden. An der DB liegt es nicht - wenn ich dort die gleiche Abfrage ausführe, bleibt die Antwortzeit unter 10ms (wiederholte Anfragen sind wesentlich schneller durch MySQL cache).

Das AJAX wird durch eine Extbase Extension erzeugt. Das TS setup dazu sieht so aus:


tmp.ajaxConf = PAGE
tmp.ajaxConf {
  typeNum = 1249058000
  config {
    disableAllHeaderCode = 1
    xhtml_cleaning = 0
    admPanel = 0
    renderCharset = utf-8
  }
}

myext_ort  < tmp.ajaxConf
myext_ort {
  typeNum = 1314101474
  10 < tt_content.list.20.myext_ws_search
}

Wie ließe sich das Ganze beschleunigen? Könnte man die Antworten für Searchstrings auch irgendwie cachen?

Grüße,
Till
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list