Sponsored Content
Special Forums UNIX and Linux Applications Infrastructure Monitoring Using Node-RED and MQTT to Monitor Server and Application Stats Post 303043726 by Neo on Wednesday 5th of February 2020 05:52:01 AM
Old 02-05-2020
Expanded the dashboard a bit, and found the time series data helpful in tracking down some nagging performance issues.

The time series charts in these screen shots illustrate two brief performance hits. Since these hits happen at the top of the hours, I looked carefully a the application scheduled tasks and found a number of "clean up" tasks which were not an issue with the DB was small, but with a large DB these "clean up" hourly scheduled tasks can slow the site down.

So, I moved around five clean-up tasks to Saturday and Sunday, since moving these batch jobs to the weekend will not effect the application very much, but does improve performance quite a bit.

Using Node-RED and MQTT to Monitor Server and Application Stats-screen-shot-2020-02-05-54437-pmjpg


Using Node-RED and MQTT to Monitor Server and Application Stats-screen-shot-2020-02-05-54333-pmjpg
 

7 More Discussions You Might Find Interesting

1. AIX

How to add node to the cluster with stoping the application?

In the production hacmp 5.3 is running with three nodes but i want to add new node to cluster with out stopping the application ie with same resource group if any bady know pls help me. (1 Reply)
Discussion started by: manjunath.m
1 Replies

2. AIX

powerha application monitor restart counter?

I have configured a custom application monitor with restart count = 3. say the application has restarted 2 times, if the application fail 2 more times within restart interval, it will failover. Is there any counter to tell me the recent restart count? Thanks!! (1 Reply)
Discussion started by: skeyeung
1 Replies

3. Homework & Coursework Questions

Accessing one UNIX node from another node of the same server

Hi Experts, I am in need of running a script from one node say node 1 via node 2. My scheduling tool dont have access to node2 , so i need to invoke the list file from node1 but the script needs to run from node2. because the server to which i am hitting, is having access only for the node... (5 Replies)
Discussion started by: arun1377
5 Replies

4. Red Hat

Red Hat application server ssl keystore problem

A client is accessing our JBoss server. In the past, we set up a keystore and everything worked fine. That certificat expired and we've installed the new one. Now the client is getting the following error - HTTP/1.1 500 Internal Server Error Date: Mon, 14 Apr 2014 13:25:44 GMT Server:... (1 Reply)
Discussion started by: kkinney
1 Replies

5. Programming

ESP32 (ESP-WROOM-32) as an MQTT Client Subscribed to Linux Server Load Average Messages

Here we go.... Preface: ..... so in a galaxy far, far, far away from commercial, data sharing corporations..... For this project, I used the ESP-WROOM-32 as an MQTT (publish / subscribe) client which receives Linux server "load averages" as messages published as MQTT pub/sub messages.... (6 Replies)
Discussion started by: Neo
6 Replies

6. Programming

Publish and Subscribe to AES-256 Encrypted MQTT Messages to Node-RED from PHP Scripts

Various Node-Red crypto modules do not work with PHP, so to send an encrypted message from a PHP script (in this case from a Ubuntu server) to Node-RED we need our own code. After a few hours of searching, testing various libs, more testing and debugging, I got this PHP to Node-RED code... (0 Replies)
Discussion started by: Neo
0 Replies

7. Programming

Node-RED: Writing MQTT Messages to MySQL DB with UNIX timestamp

First, I want to thank Neo (LOL) for this post from 2018, Node.js and mysql - ER_ACCESS_DENIED_ERROR I could not get the Node-RED mysql module to work and searched Google until all my links were purple! I kept getting ER_ACCESS_DENIED_ERROR with the right credentials. Nothing on the web was... (0 Replies)
Discussion started by: Neo
0 Replies
taskq(9F)																 taskq(9F)

NAME
taskq, ddi_taskq_create, ddi_taskq_destroy, ddi_taskq_dispatch, ddi_taskq_wait, ddi_taskq_suspend, taskq_suspended, ddi_taskq_resume - Ker- nel task queue operations SYNOPSIS
#include <sys/sunddi.h> ddi_taskq_t *ddi_taskq_create(dev_info_t *dip, const char *name, int nthreads, pri_t pri, uint_t cflags); void ddi_taskq_destroy(ddi_taskq_t *tq); int ddi_taskq_dispatch(ddi_taskq_t *tq, void (* func)(void *), void *arg, uint_t dflags); void ddi_taskq_wait(ddi_taskq_t *tq); void ddi_taskq_suspend(ddi_taskq_t *tq); boolean_t ddi_taskq_suspended(ddi_taskq_t *tq); void ddi_taskq_resume(ddi_taskq_t *tq); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI) PARAMETERS
dip Pointer to the device's dev_info structure. May be NULL for kernel modules that do not have an associated dev_info struc- ture. name Descriptive string. Only alphanumeric characters can be used in name and spaces are not allowed. The name should be unique. nthreads Number of threads servicing the task queue. Note that the request ordering is guaranteed (tasks are processed in the order scheduled) if the taskq is created with a single servicing thread. pri Priority of threads servicing the task queue. Drivers and modules should specify TASKQ_DEFAULTPRI. cflags Should pass 0 as flags. func Callback function to call. arg Argument to the callback function. dflags Possible dflags are: DDI_SLEEP Allow sleeping (blocking) until memory is available. DDI_NOSLEEP Return DDI_FAILURE immediately if memory is not available. tq Pointer to a task queue (ddi_taskq_t *). tp Pointer to a thread structure. A kernel task queue is a mechanism for general-purpose asynchronous task scheduling that enables tasks to be performed at a later time by another thread. There are several reasons why you may utilize asynchronous task scheduling: 1. You have a task that isn't time-critical, but a current code path that is. 2. You have a task that may require grabbing locks that a thread already holds. 3. You have a task that needs to block (for example, to wait for memory), but a have a thread that cannot block in its current context. 4. You have a code path that can't complete because of a specific condition, but also can't sleep or fail. In this case, the task is imme- diately queued and then is executed after the condition disappears. 5. A task queue is just a simple way to launch multiple tasks in parallel. A task queue consists of a list of tasks, together with one or more threads to service the list. If a task queue has a single service thread, all tasks are guaranteed to execute in the order they were dispatched. Otherwise they can be executed in any order. Note that since tasks are placed on a list, execution of one task and should not depend on the execution of another task or a deadlock may occur. A taskq created with a single servicing thread guarantees that all the tasks are serviced in the order in which they are scheduled. The ddi_taskq_create() function creates a task queue instance. The ddi_taskq_dispatch() function places taskq on the list for later execution. The dflag argument specifies whether it is allowed sleep waiting for memory. DDI_SLEEP dispatches can sleep and are guaranteed to succeed. DDI_NOSLEEP dispatches are guaranteed not to sleep but may fail (return DDI_FAILURE) if resources are not available. The ddi_taskq_destroy() function waits for any scheduled tasks to complete, then destroys the taskq. The caller should guarantee that no new tasks are scheduled for the closing taskq. The ddi_taskq_wait() function waits for all previously scheduled tasks to complete. Note that this function does not stop any new task dis- patches. The ddi_taskq_suspend() function suspends all task execution until ddi_taskq_resume() is called. Although ddi_taskq_suspend() attempts to suspend pending tasks, there are no guarantees that they will be suspended. The only guarantee is that all tasks dispatched after ddi_taskq_suspend() will not be executed. Because it will trigger a deadlock, the ddi_taskq_suspend() function should never be called by a task executing on a taskq. The ddi_taskq_suspended() function returns B_TRUE if taskq is suspended, and B_FALSE otherwise. It is intended to ASSERT that the task queue is suspended. The ddi_taskq_resume() function resumes task queue execution. RETURN VALUES
The ddi_taskq_create() function creates an opaque handle that is used for all other taskq operations. It returns a taskq pointer on success and NULL on failure. The ddi_taskq_dispatch() function returns DDI_FAILURE if it can't dispatch a task and returns DDI_SUCCESS if dispatch succeeded. The ddi_taskq_suspended() function returns B_TRUE if taskq is suspended. Otherwise B_FALSE is returned. CONTEXT
All functions may be called from the user or kernel contexts. Addtionally, the ddi_taskq_dispatch function may be called from the interrupt context only if the DDI_NOSLEEP flag is set. 1 Mar 2005 taskq(9F)
All times are GMT -4. The time now is 10:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy