Blog

The views expressed in this blog are strictly personal, and do not necessarily represent the views of Evident Software.

By Bill Nigh

WebLogic optimization is a rich area for possibilities due to the numerous technologies and monitoring tools involved. One crucial area is the database; this post will talk about RDBMS, with subsquent posts in this series addressing NoSQL and data caching.

  1. JNDI lookups are relatively expensive, so use caching for any objects that initialize database connections (or ANY connections for that matter, such as JMX connections that might be done for server performance monitoring).
  2. Use resource pooling for connections to the database from WebLogic. The WebLogic JDBC connection pooling feature allows this to be configured relatively easily.
  3. The Prepared Statement Cache should be optimized and used. This cache keeps compiled SQL statements in memory, thus avoiding a round-trip to the database when the same statement is used later.
  4. Dive deeper into that realm, and ensure that whenever possible, stored procedures, packages and similar program constructs are used rather than SQL statements.
  5. Let the RDBMS server do the heavy lifting; that’s what it’s designed to do: serve.
  6. Understand the set orientation of SQL (which abhors unnecessary use of cursors).
  7. Understand that other applications may also be accessing that database, and that the root cause of sudden poor performance may be some other business entity hitting that server. Try to ensure your database administrators keep you in the loop in such matters.

These are just some of the considerations that take us out of the application tier and into the database tier, but which may result in perceived poor application performance.

By Bill Nigh

NoSQL DB logging is characterized mainly by point solutions, reflecting the varied points of origin of relatively new technologies. The way is clear for a monitoring platform that can integrate logging and monitoring of  Distributed Cache and NoSQL databases, and wouldn’t it be nice to monitor practically any resource anywhere in the enterprise?

Evident ClearStone 5.0, with DevOps friendly pricing, gives you the ability to monitor resources through channels such as Linux SAR, PHP, Perl, Ruby and other scripted feeds using ODI (our new REST API), joining our existing JMX-based approach for monitoring JVMs.  The performance metrics are captured and formed in Neo4J as graph objects, then stored in Cassandra as time series data. This rich storage model opens up the possibility of more and more interesting visualizations of events relationships and entities.

The new release of Evident ClearStone continues our efforts toward a more integrated approach to monitoring application performance throughout the entire enterprise application stack and operating environment.

Learn more about our performance monitoring solution for Java, NoSQL and web servers.

By Bill Nigh

Tim Sneed of Evident’s development staff has posted on our support site about enhancing MongoDB logging and monitoring with Evident ClearStone. In the post, he explains the basics of publishing the output of mongostat to ClearStone’s REST based Open Data Interface (ODI), using curl to stream the data.
 
The procedure is simple:
  1. Following the Tabular Data Model, create an XML file
  2. Register the Data Model against ClearStone’s ODI
  3. Stream MongoDB Performance data to ClearStone’s ODI with shell scripts
  4. Scrub the stats output
  5. Use curl to stream the data to ClearStone ODI
The logging and performance monitoring data can now appear in the ClearStone Real Time Dashboard.
 
Read Tim’s post here.
 

By Bill Nigh

Memcached misses happen naturally and are not strictly an error condition, just not a welcome one.  Memcached provides a potentially huge key-value index for all data, and the currently allocated resources might not be up to the load. When the Memcached cache fills up as identified by the “% Memory Free” metric, Memcached will start to evict the least recently touched key-value items. To see Memcached stats on this issue, you can use the “stats\n” command over a TCP socket and check the STAT evictions output.

Memcached misses are one reason an additional layer of functionality and service is written, such as Couchbase (originally Membase). Couchbase does not evict, it persists to disk, thus obviating that particular Memcached performance issue, but at an understandable performance cost elsewhere.

Evident ClearStone, our NoSQL DB monitoring tool, provides monitoring for Memcached over a lightweight protocol that enables administrators to set thresholds and to get notified when any threshold is exceeded. Knowing that their memory is running low, an operations team can kick off a new instance of Memcached to ensure that premature evictions do not occur and requests are being served.

See also: http://www.evidentsoftware.com/proactively-monitoring-your-memcached-environment-with-evident-clearstone-ecs/

Learn more about our performance monitoring solution for Java, NoSQL and web servers.

By Bill Nigh

Why would an organization run both Memcached and Cassandra, and how could one monitor both Memcached stats and Cassandra performance in a convenient way?

There are a number of reasons for running both technologies. Maybe a recent merger has brought both technologies in house. Maybe Cassandra is being used for time series data, such as we do with Evident ClearStone, our NoSQL DB monitoring tool, and Memcached is the front serving cache. Cassandra is pretty fast as it is, so the combination is unlikely, but if such a combination were found, then the monitoring solutions would typically be point solutions. Adding the separate consoles for these products to monitoring applications for JVM such as JConsole, WebLogic, JBoss and others, and the common problem of the NoSQL space hits you in the face: a lack of integration within a single dashboard.

Evident ClearStone’s Real Time Dashboard can display JMX-based, Linux SAR, php, perl, ruby and other scripted feeds on the same page. With this functionality, you can at least begin to glimpse the outlines of a more integrated approach to monitoring application performance.

Learn more about our performance monitoring solution for Java, NoSQL and web servers.