[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[LDM #YYK-201792]: product queue size tweaking



Hi Brad,

> Had some complaints and arguments that a max age time under 90s is bad and
> should be larger.

90 s is pretty short -- especially if a pqact(1) process is processing the
products. In general, you want the minimum residence time of a product in
the queue to be large enough to tide you over offline repairs and surges in
data that could overwhelm a slow pqact(1) process.

> Any info on monitoring product queue, commands, and tweaks as well as what
> to monitor for impacts if making a product queue larger would be on server
> side?

Unfortunately, there's no one-size-fits-all size for the queue or a turn-
the-crank algorithm for setting the size. One has to monitor the queue to
determine if the current values are good.

Fortunately, the LDM package has the ability to plot the time-series of the
age of the oldest product in the queue as well as the amount of data in the
queue and the number of products. This makes the determination of the queue
size parameters (amount of data, number of slots) much easier. It does
require, however, that the gnuplot(1) package be installed. See

    
<http://www.unidata.ucar.edu/software/ldm/ldm-current/basics/configuring.html#vet
 registry>
    
<http://www.unidata.ucar.edu/software/ldm/ldm-current/basics/LDM-registry.html>
    
<http://www.unidata.ucar.edu/software/ldm/ldm-current/basics/configuring.html#cron>

Once gnuplot(1) is installed and your crontab(1) has the "ldmadmin addmetrics"
and "ldmadmin newmetrics" entries. You can use the command

    ldmadmin plotmetrics [-b YYYYMMDD[.hhmmss]] [-e YYYYMMDD[.hhmmss]]

to plot the aforementioned time-series. It can be very enlightening!

> Is there an easy way to tell if products in the product queue, aren't
> getting acted on by pqact because they're aging out before pqact acts on
> them other than grepping from logs, i.e. any pq specific commands to watch?

Grep(1) the LDM log file for the string "oldest". Pqact(1) logs a warning
message when it processes the oldest product in the queue. When that happens,
the pqact(1) process might not see every product in the queue because it
accesses the queue asynchronously with product insertion.

The queue should be sufficiently large that you never see that message.

Of course, if products are arriving faster than pqact(1) can process them
on average, then adjusting the queue size won't work and you'll have to try
something else (distribute pqact(1) processing amongst more computers, 
request fewer products, etc.).

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: YYK-201792
Department: Support LDM
Priority: Normal
Status: Closed
===================
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata 
inquiry tracking system and then made publicly available through the web.  If 
you do not want to have your interactions made available in this way, you must 
let us know in each email you send to us.