Search

GlobalSCAPE Knowledge Base

Adjusting the ARM Queue Behavior

Karla Marsh
EFT Express (SMB) & Enterprise

THE INFORMATION IN THIS ARTICLE APPLIES TO:

  • EFT Server v6.3 and later

DISCUSSION

The following registry settings control the behavior of the queue used to write to the ARM database. If the queue backs up, it will make threads wait until space is available. If you have enabled DEBUG logging for ARM (see "Logging" below), when you start EFT Server, it will log messages indicating that these registry settings are enabled.

32-bit:

HKEY_LOCAL_MACHINE\SOFTWARE\GlobalSCAPE Inc.\EFT Server 4.0\

64-bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GlobalSCAPE Inc.\EFT Server 4.0\

ARMQueueSize

  • The maximum size of the ARM auditing queue. You should first enable DEBUG logging and set the “ARMLogMinStalledThreads” registry setting (below) to 1, then review the EFT.log file and see if it is logging WARN messages about stalled threads. This would be evidence that the queue is falling behind.
  • Type: REG_DWORD
  • Default when not specified: 10 (1000 in v7 and later)
  • Minimum allowed when specified: 10 (1000 in v7 and later)

ARMLogStalledThreadMinDuration

  • Type: REG_DWORD
  • Default when not specified: 1000 (1 second)
  • Minimum allowed when specified: 1000 (1 second)
  • The duration to use to determine if a thread should be considered “stalled.” Meaning if this is set to 1000 then any thread that waits longer than 1 second is classified as stalled. This is used just for logging purposes. 

ARMLogMinStalledThreads

  • Type: REG_DWORD
  • Default when not specified: 0
  • The number of stalled threads that must be present before logging. If it is set to 1 or higher, information about stalled threads is logged to EFT.log under the ARM logger. Set this to 1 temporarily to see if anything shows up in the log. Be aware that in extreme situations this could, in theory, make it log a ton of WARN messages. If so then a higher value should be used to lessen the verbosity.

Logging

In the logging.cfg file (e.g., C:\ProgramData\Globalscape\EFT Server Enterprise\logging.cfg), enable DEBUG logging for the "ARM" log to output statistical information concerning the size of the queue and whether threads are stalling.

Log Messages

The following log message are created when the queue is filling up and at server startup:

  • A WARN level message to the "ARM.Queue" log when the queue is filling up and threads are backing up waiting to audit. You have to set "ARMLogMinStalledThreads" to 1 or greater to enable this.

For example:

05-16-12 10:57:52,258 [1316] WARN ARM.Queue <> - The ARM queue had 8 threads waiting over 1001 seconds over the last 301 milliseconds

  • A DEBUG level message to the"ARM.Queue" log with statistics for the queue. Output every 5 minutes.

For example:

05-16-12 10:57:52,258 [1316] DEBUG ARM.Queue <> - Queue stats over the last 301 seconds:

10094 items enqueued

11 is the largest recorded queue size

8 threads waited over 1001 milliseconds

average queue size 4.53

  • (Logged at Server start) A DEBUG level message to "ARM.Queue" log displaying the queue size if the "ARMQueueSize" registry key is specified and value is > 10.

For example:

05-16-12 10:47:51,320 [1560] DEBUG ARM.Queue <> - Queue size set to 11

  • (Logged at Server start) A DEBUG level message to "ARM.Queue" log displaying the queue size if the "ARMLogStalledThreadMinDuration" registry key is specified an value > 1000:

For example:

05-16-12 10:47:51,320 [1560] DEBUG ARM.Queue <> - Stalled thread minimum duration set to 1001

  • (Logged at Server start) A DEBUG level message to "ARM.Queue" log displaying the queue size if the "ARMLogMinStalledThreads" registry key is specified and value > 0

For example:

05-16-12 10:47:51,320 [1560] DEBUG ARM.Queue <> - Minimum number of stalled threads to log set to 1 ARMLogMinStalledThreads > 0 output

Details
Last Modified: 5 Years Ago
Last Modified By: GlobalSCAPE 5
Type: HOWTO
Article not rated yet.
Article has been viewed 24K times.
Options
Also In This Category
Tags