Files
yacy_search_server/help/PerformanceQueues_p.md
Michael Peter Christen b1fd3b3185 Fix Jetty 12 active request accounting
Track each HTTP request independently and always release its entry on
completion, failure, or async termination. Enforce the request limit
atomically, remove obsolete connection-close accounting, repair stale
cleanup, and persist the configured maximum correctly.

Update UI terminology, help, localization, and focused regression tests.

- Fixes #800
- Fixes #808
2026-08-16 21:53:13 +02:00

4.4 KiB

page, help, title, package, access, kind, backend_java
page help title package access kind backend_java
htroot/PerformanceQueues_p.html help/PerformanceQueues_p.md Performance Settings of Queues and Processes monitoring-performance admin admin-page source/net/yacy/htroot/PerformanceQueues_p.java

Performance Settings of Queues and Processes

Purpose

Queue Performance shows processing queues, worker behavior, and concurrency limits.

Use it to find bottlenecks between crawling, parsing, indexing, and response generation.

What You Can Do Here

  • Queue Performance shows processing queues and worker behavior.
  • Filter or limit the view to the symptom being investigated.
  • Use the observation to decide the next crawler, index, network, or configuration action.

Page Architecture

Monitoring pages read live peer state from queues, logs, network tables, memory counters, or process trackers. They are safest when used first as observation tools and only then as entry points to tuning pages.

Control Meaning Values or examples
#[name]#_maxActive Maximum concurrent activity for the named workload. Positive integer. The Incoming HTTP Requests row limits active remote requests, not TCP connections or servlet sessions.

Correct Use

Use monitoring pages as evidence, not as guesses. Capture the current state, then connect it to the user-visible symptom: slow search, missing documents, stuck crawl, memory pressure, network isolation, or unexpected access.

Access And Safety

Administrator access is required. YaCy protects _p pages as administration pages.

Protected related endpoint(s): /PerformanceQueues_p.html.

Backend checks: transaction token for protected POST, transaction token issued for forms.

Automation And API

Page backend: source/net/yacy/htroot/PerformanceQueues_p.java.

Endpoint Method Access Backend
/PerformanceQueues_p.html POST admin source/net/yacy/htroot/PerformanceQueues_p.java

Parameter Guide

The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. Low-level generated parameters are omitted when they are only meaningful inside the rendered YaCy form.

Parameter Meaning and valid values Care
#[name]#_maxActive Enables the named feature. Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default.
Crawler Pool_maxActive Enables the named feature. Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default.
Robots.txt Pool_maxActive Enables the named feature. Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default.
crawlPauseRemotesearch User or account value. Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default.
poolConfig Applies the submitted crawler, robots.txt, and incoming HTTP request limits. Include this submit parameter and preserve the current values of limits that are not being changed.
Incoming HTTP Requests_maxActive Positive integer maximum for concurrently active incoming HTTP requests. Takes effect immediately and is persisted as httpdMaxBusySessions; the same value is restored when YaCy restarts. Non-positive values are ignored.
httpd Session Pool_maxActive Legacy alias for Incoming HTTP Requests_maxActive. Accepted for existing automation, but new integrations should use the corrected parameter name.

Example request shape:

POST /PerformanceQueues_p.html
Content-Type: application/x-www-form-urlencoded

#[threadname]#_idlesleep=...&#[threadname]#_busysleep=...&#[threadname]#_memprereq=...&#[threadname]#_loadprereq=...&submitdelay=...

What To Expect

The page reports each workload's current activity and concurrency limit. “Incoming HTTP Requests” counts requests currently executing in the servlet pipeline; it is not a TCP connection pool and not an HTTP session count. Submitting poolConfig changes the limits immediately. The incoming request limit persists across restart; remote requests exceeding it receive HTTP 503, while local requests remain exempt from rejection.

  • Related diagnosis usually continues on the status page, log viewer, performance pages, connection tracker, queue monitor, or network view.