De:FAQPerformance

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Performance Settings of Queues and Processes

Performance Settings of Queues and Processes

Scheduled tasks overview and waiting time settings

Dieser Tabelle kann der Status der einzelnen YaCy-Threads entnommen werden. Zudem ist es möglich, Die Zeitspanne zwischen den einzelnen Ausführungen (Loops) festzulegen, und damit die Performance des Peers grundlegend zu steuern.

Es gibt keine allgemeinen besten Performance-Werte, sondern es kommt hierbei auf das System, auf dem YaCy läuft sowie dessen Aufgaben an. Crawlt der Peer beispielsweise sehr viel und häufig, so müssen andere Werte nach oben bzw. unten gesetzt werden, als fungiert er als Demo-Peer.

  • Delay between idle loops: Hat ein Thread gerade nichts zu tun, d.h. seine Queue ist leer, so wird er alle X Millisekunden gestartet, um zu überprüfen, ob er immernoch nichts zu tun hat. Ist es nicht wichtig, dass jeder neue Eintrag schnell abgearbeitet wird, so kann dieser Wert für den jeweiligen Thread erhöht werden.
  • Delay between busy loops: Ist die Queue des Threads gefüllt, so wird er alle X Millisekunden ausgeführt, und arbeitet dabei jeweils einen Eintrag ab. Wird hier "0" eingestellt, so macht er keine Pausen zwischendurch, dies kann u.U. zu einer hohen CPU-Belastung führen, wenn der Thread häufiger etwas zu tun bekommt.
  • Minimum of Required Memory: Sollte YaCy der zugewiesene Speicher knapp werden (kann auf der Status-Seite überprüft werden), und weniger als X KB Speicher zur Verfügung stehen, so wird der Thread zwar ausgeführt, macht aber einen "Short Mem Cycle", das heißt, kein Eintrag aus seiner Queue wird abgearbeitet, sondern er wartet bis wieder mehr Speicher zur Verfügung steht.

Indexing Cache Settings

Diese Tabelle beschäftigt sich ausschliesslich mit Werten, die für den Indexierungs-Thread wichtig sind: den RAM-Cache. Wird ein Dokument (HTML-Seite, PDF bei aktiviertem Parser, etc.) indexiert, so werden die gefundenen Wörter zunächst in den RAM-Cache geschrieben und gesammelt, um danach möglichst viele URLs für ein Wort gleichzeitig in die Datenbank schreiben zu können, dies senkt die Zugriffe auf die Festplatte.

  • Maximum number of Word Caches, low limit: Es werden solange Seiten indexiert, bis dieses Limit erreicht ist, danach wird der Indexierungs-Thread pausiert, bis genug Words in die Datenbank geschrieben wurden.
  • Maximum number of Word Caches, high limit: Dies ist das eigentliche Maximum der Anzahl Words, die in den RAM-Cache geschrieben werden. Sollte beispielsweise der Indexer den Cache schon bis zu low limit gefüllt haben, so werden bis zu dieser Grenze dennoch Words aus DHT-Transfers angenommen.

Thread pool settings

Das Starten eines neuen Threads kostet Zeit. Um dies zu vermeiden und somit die Geschwindigkeit zu erhöhen, verwendet YaCy Threadpools. Das Ziel von Threadpools ist es, Threads bereits vorab zu starten und solange in einem Pool aufzubewahren, bis ein neuen Job eintrifft. Ist dies der Fall, so wird ein "idle" Thread aus dem Thread Pool genommen und ihm der Job zur Abarbeitung übergeben, wodurch der Thread in den Status "active" wechselt. Nach der fertigen Abarbeitung des Jobs, wird der Status des Threads wieder auf "idle" gesetzt und der Thread wieder im Threadpool aufbewahrt bis ein neuer Job eintrifft.

  • Maximum Active: Ist die maximale Anzahl an Thread, die gleichzeitig aktiv sein dürfen.

Wird dieses Limit erreicht, ist kein "idle" Thread mehr verfügbar und neu eintreffende Jobs werden solange blockiert, bis einer der aktiven Thread mit der Abarbeitung seines momentanen Jobs fertig und somit wieder verfügbar wird.

  • Maximum Idle: Ist die maximale Anzahl an "idle" Threads die im Pool sein dürfen.

Ist ein "active" Thread mit der Abarbeitung seins Jobs fertig so wird er nur dann wieder im Thread Pool gespeichert, wenn dieses Limit noch nicht erreicht ist. Andernfalls wird der Thread beendet.

  • Minimum Idle: Ist die minimale Anzahl an "idle" Threads die im Pool gehalten werden.

Index Assortments

Diese Tabelle gibt einen Überblick, wieviele Words jeweils in einem der Assoertments enthalten sind. Typischerweise nimmt die Anzahl ab, je mehr URLs pro Word ein Assortment aufnimmt.

Proxy Performance Settings

Mit dem Online Caution Delay kann festgelegt werden, wie viele Millisekunden der Crawl-Prozess anhält, wenn der Proxy benutzt wird. Mit aktiviertem Crawl-Job kann es mitunter länger dauern, bis durch den Proxy geladene Seiten angezeigt werden, da YaCy mehr zu tun hat. Dieser Wert bestimmt also, wie lang ungefähr der Abstand zwischen den einzelnen Seitenaufrufen sein sollte, damit die Proxy-Benutzung nicht durch den Crawler eingeschränkt wird.


Performance Settings for Memory

Performance Settings for Memory

Memory Usage

Diese Tabelle gibt einen Überblick über die Speichernutzung YaCys in verschiedenen Stadien kurz nach dem Start. Des weiteren bietet sie die Möglichkeit, die maximale Speichernutzung ab dem nächsten Start festzulegen sowie einen "GC" machen zu lassen. Der GC (Garbage Collector) ist eine Java-Funktion, welche belegten aber nicht mehr benötigten Speicher freigibt und somit mehr Platz für YaCy innerhalb der JVM schafft.

RAM Cache for Database Files

Icon work.png TODO: Hier fehlt eine Beschreibung

Write Cache Object Allocation

TODO...


Timing Settings of Search Sequence

Timing Settings of Search Sequence

Settings for local search profile

Timing results of latest search request