From cafa1a952f2f54c68316799fbbb0f6583788c916 Mon Sep 17 00:00:00 2001 From: lotus Date: Wed, 30 Jul 2008 07:37:11 +0000 Subject: [PATCH] - performance settings refactoring: made headlines to fieldsets - show performance profiles more prominent for easier configuration git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5026 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- defaults/yacy.init | 1 + htroot/PerformanceQueues_p.html | 440 ++++++++++++++++---------------- htroot/PerformanceQueues_p.java | 5 + locales/de.lng | 3 +- 4 files changed, 232 insertions(+), 217 deletions(-) diff --git a/defaults/yacy.init b/defaults/yacy.init index dca26bb67..1c6879d9c 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -542,6 +542,7 @@ filterOutStopwordsFromTopwords=true # the prereq-value is a memory pre-requisite: that much bytes must # be available/free in the heap; othervise the loop is not executed # and another idlesleep is performed +performanceProfile=defaults/yacy.init 20_dhtdistribution_idlesleep=30000 20_dhtdistribution_busysleep=10000 20_dhtdistribution_memprereq=6291456 diff --git a/htroot/PerformanceQueues_p.html b/htroot/PerformanceQueues_p.html index 26986f889..dbeb09fce 100644 --- a/htroot/PerformanceQueues_p.html +++ b/htroot/PerformanceQueues_p.html @@ -3,241 +3,249 @@ YaCy '#[clientname]#': Performance Settings of Queues and Processes #%env/templates/metas.template%# + - + #%env/templates/header.template%# #%env/templates/submenuConfig.template%#

Performance Settings of Queues and Processes

-

- Scheduled tasks overview and waiting time settings: -

- - - - - - - - - - - - - - - - - - - - #{table}# - - - - - - - - - - - - - - - - - - - - - - #{/table}# - - - -
ThreadQueue SizeTotal
Block Time
Total
Sleep Time
Total
Exec Time
Total
Cycles
Idle
Cycles
Busy
Cycles
Short Mem
Cycles
Sleep Time
per Cycle
(millis)
Exec Time
per Busy-Cycle
(millis)
Memory Use
per Busy-Cycle
(kbytes)
Delay between
idle loops
Delay between
busy loops
Minimum of
Required Memory
Full Description
#(hasurl)##[shortdescr]#::#[shortdescr]##(/hasurl)##[queuesize]##[blocktime]# sec#[blockpercent]#%#[sleeptime]# sec#[sleeppercent]#%#[exectime]# sec#[execpercent]#%#[totalcycles]##[idlecycles]##[busycycles]##[memscycles]##[sleeppercycle]##[execpercycle]##[memusepercycle]# milliseconds milliseconds kbytes#[longdescr]##(recommendation)#::
recommended: #[value]# kbytes#(/recommendation)#
-     - Changes take effect immediately
- - and use of the defiend performance. -
+
Use Default Profile: +

+ and use of the defiend performance. +

+

Changes take effect immediately

+
+ + show expert settings + +
+ +
Scheduled tasks overview and waiting time settings: + + + + + + + + + + + + + + + + + + + + #{table}# + + + + + + + + + + + + + + + + + + + + + + #{/table}# + + + +
ThreadQueue SizeTotal
Block Time
Total
Sleep Time
Total
Exec Time
Total
Cycles
Idle
Cycles
Busy
Cycles
Short Mem
Cycles
Sleep Time
per Cycle
(millis)
Exec Time
per Busy-Cycle
(millis)
Memory Use
per Busy-Cycle
(kbytes)
Delay between
idle loops
Delay between
busy loops
Minimum of
Required Memory
Full Description
#(hasurl)##[shortdescr]#::#[shortdescr]##(/hasurl)##[queuesize]##[blocktime]# sec#[blockpercent]#%#[sleeptime]# sec#[sleeppercent]#%#[exectime]# sec#[execpercent]#%#[totalcycles]##[idlecycles]##[busycycles]##[memscycles]##[sleeppercycle]##[execpercycle]##[memusepercycle]# milliseconds milliseconds kbytes#[longdescr]##(recommendation)#::
recommended: #[value]# kbytes#(/recommendation)#
+ + Changes take effect immediately
+
+
-

- Cache Settings: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cache TypeDHT-OutDHT-InDescription
URLs in RAM buffer:#[urlCacheSize]# - This is the size of the URL write buffer. Its purpose is to buffer incoming URLs - in case of search result transmission and during DHT transfer. -
Words in RAM cache:
(Size in KBytes)
#[wordCacheWSize]#
(#[wordCacheWSizeKBytes]# KB)
#[wordCacheKSize]#
(#[wordCacheKSizeKBytes]# KB)
- This is the current size of the word caches. - The indexing cache speeds up the indexing process, the DHT cache holds indexes temporary for approval. - The maximum of this caches can be set below. -
Maximum URLs currently assigned
to one cached word:
#[maxURLinWCache]##[maxURLinKCache]# - This is the maximum size of URLs assigned to a single word cache entry. - If this is a big number, it shows that the caching works efficiently. -
Maximum age of a word:#[maxAgeOfWCache]##[maxAgeOfKCache]# - This is the maximum age of a word in an index in minutes. -
Minimum age of a word:#[minAgeOfWCache]##[minAgeOfKCache]# - This is the minimum age of a word in an index in minutes. -
Maximum number of words in cache: - - - This is is the number of word indexes that shall be held in the - ram cache during indexing. When YaCy is shut down, this cache must be - flushed to disc; this may last some minutes. -
Initial space of words in cache: - - - This is is the init size of space for words in cache. -
- - Changes take effect immediately
+
Cache Settings: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Cache TypeDHT-OutDHT-InDescription
URLs in RAM buffer:#[urlCacheSize]# + This is the size of the URL write buffer. Its purpose is to buffer incoming URLs + in case of search result transmission and during DHT transfer. +
Words in RAM cache:
(Size in KBytes)
#[wordCacheWSize]#
(#[wordCacheWSizeKBytes]# KB)
#[wordCacheKSize]#
(#[wordCacheKSizeKBytes]# KB)
+ This is the current size of the word caches. + The indexing cache speeds up the indexing process, the DHT cache holds indexes temporary for approval. + The maximum of this caches can be set below. +
Maximum URLs currently assigned
to one cached word:
#[maxURLinWCache]##[maxURLinKCache]# + This is the maximum size of URLs assigned to a single word cache entry. + If this is a big number, it shows that the caching works efficiently. +
Maximum age of a word:#[maxAgeOfWCache]##[maxAgeOfKCache]# + This is the maximum age of a word in an index in minutes. +
Minimum age of a word:#[minAgeOfWCache]##[minAgeOfKCache]# + This is the minimum age of a word in an index in minutes. +
Maximum number of words in cache: + + + This is is the number of word indexes that shall be held in the + ram cache during indexing. When YaCy is shut down, this cache must be + flushed to disc; this may last some minutes. +
Initial space of words in cache: + + + This is is the init size of space for words in cache. +
+ + Changes take effect immediately
+
-

- Balancer Settings: -

-

- This is the time delta between accessing of the same domain during a crawl. The crawl balancer tries to avoid that domains are - accessed too often, but if the balancer fails (i.e. if there are only links left from the same domain), then these minimum - delta times are ensured. -

- - - - - - - - - - - - - - - - -
Crawler DomainMinimum Access Time Delta
local (intranet) crawls
global (internet) crawls
- Changes take effect immediately
+
Balancer Settings: +

+ This is the time delta between accessing of the same domain during a crawl. The crawl balancer tries to avoid that domains are + accessed too often, but if the balancer fails (i.e. if there are only links left from the same domain), then these minimum + delta times are ensured. +

+ + + + + + + + + + + + + + + + +
Crawler DomainMinimum Access Time Delta
local (intranet) crawls
global (internet) crawls
+ Changes take effect immediately
+
-

- Thread Pool Settings: -

- - - - - - - #{pool}# - - - - - - #{/pool}# - - - -
Thread Poolmaximum Activecurrent Active
#[name]##[numActive]#
- - Changes take effect immediately
+
Thread Pool Settings: + + + + + + + #{pool}# + + + + + + #{/pool}# + + + +
Thread Poolmaximum Activecurrent Active
#[name]##[numActive]#
+ + Changes take effect immediately
+
+
-

- Online Caution Settings:
- This is the time that the crawler idles when the proxy is accessed, or a local or remote search is done. - The delay is extended by this time each time the proxy is accessed afterwards. - This shall improve performance of the affected process (proxy or search). - (current delta is #[crawlPauseProxyCurrent]#/#[crawlPauseLocalsearchCurrent]#/#[crawlPauseRemotesearchCurrent]# - seconds since last proxy/local-search/remote-search access.) -

- - - - - - - - - - - - - - - - - - - - -
Online Caution Caseindexer delay (milliseconds) after case occurency
Proxy:
Local Search:
Remote Search:
- Changes take effect immediately
+
Online Caution Settings: +

+ This is the time that the crawler idles when the proxy is accessed, or a local or remote search is done. + The delay is extended by this time each time the proxy is accessed afterwards. + This shall improve performance of the affected process (proxy or search). + (current delta is #[crawlPauseProxyCurrent]#/#[crawlPauseLocalsearchCurrent]#/#[crawlPauseRemotesearchCurrent]# + seconds since last proxy/local-search/remote-search access.) +

+ + + + + + + + + + + + + + + + + + + + +
Online Caution Caseindexer delay (milliseconds) after case occurency
Proxy:
Local Search:
Remote Search:
+ Changes take effect immediately
+
diff --git a/htroot/PerformanceQueues_p.java b/htroot/PerformanceQueues_p.java index 2e9b80689..598b50c2b 100644 --- a/htroot/PerformanceQueues_p.java +++ b/htroot/PerformanceQueues_p.java @@ -95,6 +95,9 @@ public class PerformanceQueues_p { final double multiplier = (post != null) && post.containsKey("multiplier") ? post.getDouble("multiplier", 1) : 1; final boolean setProfile = (post != null && post.containsKey("submitdefault")); final boolean setDelay = (post != null) && (post.containsKey("submitdelay")); + // save used settings file to config + if (setProfile) switchboard.setConfig("performanceProfile", post.get("defaultFile", "defaults/yacy.init")); + while (threads.hasNext()) { threadName = threads.next(); thread = switchboard.getThread(threadName); @@ -178,9 +181,11 @@ public class PerformanceQueues_p { // performance profiles c = 0; + final String usedfile = switchboard.getConfig("performanceProfile", "defaults/yacy.init"); for(String filename: performanceProfiles.keySet()) { prop.put("profile_" + c + "_filename", filename); prop.put("profile_" + c + "_description", performanceProfiles.get(filename)); + prop.put("profile_" + c + "_used", usedfile.equalsIgnoreCase(filename) ? "1" : "0"); c++; } prop.put("profile", c); diff --git a/locales/de.lng b/locales/de.lng index bac9a2910..cf00da5cd 100644 --- a/locales/de.lng +++ b/locales/de.lng @@ -1390,7 +1390,8 @@ Short Mem
Cycles==Durchl.
ohne ausr. Speicher Minimum of
Required Memory==Mindestens
benötigter Speicher Full Description==vollständige Beschreibung Submit New Delay Values==Neue Verzögerungswerte speichern -"Use Default Profile:"=="Standard Profil benutzen:" +Use Default Profile:==Standard Profil benutzen: +Save==Speichern > and use==> und nutze > of the defiend performance.==> der vorgegebenen Geschwindigkeit. Changes take effect immediately==Änderungen werden sofort wirksam