This is a short guide on how to approach the evaluation of SnowMirror 4 Beta. Please follow the steps below and provide us your feedback on testing.

Please do not upgrade your existing production SnowMirror! Install a fresh copy instead!

SnowMirror 4.0 is mainly about replication performance, so, unfortunately, the best instance to use for testing is your production instance. The sub-production instances have worse performance characteristics and they typically have just 2 nodes. The production instances might have more nodes which are better for testing. If the production instance is not available for the test then you can use the sub-production instance of course.

We recommend participating in one of the scheduled webinar sessions to learn all the details about the changes. You can read the Admin Guide for the Beta release either online or in the SnowMirror application itself.

Steps to follow:

Please note that your existing Lite and Enterprise licenses have the limitation to two nodes only. Existing Cluster licenses are not limited at all.

  1. Download the SnowMirror 4.0 Beta Windows Installer (or the ZIP distribution).
  2. Request an unlimited testing license via email (support@snow-mirror.com). Please send us the names of instances.
  3. Install a fresh copy of SnowMirror 4.0 Beta
  4. Read about performance settings in the Admin Guide, chapter 5.10
  5. Go to Settings -> Performance and configure the correct number of nodes for your instance
  6. Restart SnowMirror
  7. Setup a few synchronizations and perform some tests
  8. You can observe what is happening in the new section Settings -> Stats
  9. Please report all the issues and feedback to support@snow-mirror.com. We would appreciate the Stats export as well.

How To Discover the Number of Nodes

The crucial performance setting is the number of nodes in your ServiceNow instance cluster. This number is not something you request from ServiceNow. ServiceNow infrastructure teams manage the number of nodes according to the size, load, and many other factors. Here are the three ways you could learn how many nodes you have. All of the methods should give the same results.

  1. Discover Nodes button in SnowMirror -> Settings -> Performance
  2. Using the Node Switcher Chrome plug-in
  3. Go to ServiceNow -> System Diagnostics -> Diagnostics Page and count the number of nodes having Logged In Users in positive numbers. The rest of the nodes are typically just stand-by nodes.

Fast Differential Strategy

There is another new feature in SnowMirror 4.0 worth testing. It is a new Delete Strategy and unlike the original Differential strategy, it should be much faster. It tries to identify the parts of a table where a delete could be and compares the keys only in these parts. The rest of the table is not being downloaded which enables the strategy to finish much faster.

This strategy is designed for large tables that are not being audited, but where a delete can occur. It works the best for tables with a low number of deletes and the tables which are not being under heavy load during the synchronization run. The big number of deletes or heavy load simply makes the strategy similar to the original Difference strategy.

Please test this new feature too and provide us your feedback if it works in your environment.

As the ServiceNow platform is getting more and more popular, the size of ServiceNow databases is increasing over time. Individual tables are becoming so large that the initial loads performed by SnowMirror are sometimes taking very long. That’s why we have spent the last six months re-designing the SnowMirror replication core. We are proud to announce SnowMirror 4.0 which significantly improves the replication performance.

Apply for the SnowMirror Beta Program. Please fill in the form below to participate! We are constantly developing new exciting features for SnowMirror. To see if we are going in the right direction, we really need to get real feedback from you!

Beta Program Application

 

Performance Improvement

ServiceNow does not provide a way how to access its data in bulk, so SnowMirror has to use the out-of-the-box API which is designed for a transactional access only. That is the reason why the performance bottleneck in the whole replication architecture is the ServiceNow instance itself and not the other parts such as the SnowMirror agent or the mirror database.

The original SnowMirror till the 3.9.x series connects to the ServiceNow instance using 3 concurrent HTTP connections. This is a documented approach, to create and maintain a session with ServiceNow and reuse it for connections to the instance. It completely relies on the ServiceNow infrastructure and routing of the requests to individual instance nodes is out of SnowMirror’s control. That’s why the default was 3 connections in parallel because typically all the requests were routed to the same node, so we wanted to use maximum 3 out of 4 integration semaphores, not to overload a single node.

Another important design feature was that a single synchronization was running in a single thread and using only a single HTTP connection. So, in order to utilize the whole available throughput there had to be at least 3 synchronizations running in parallel.

The SnowMirror 4.0 replication core is completely redesigned. It uses a lower-level approach of connecting to ServiceNow, it better utilizes the ServiceNow cluster and the algorithms are fully parallel. All of this results in a significant performance boost.

The major difference is that SnowMirror is able to identify individual ServiceNow nodes and maintain two sessions with each node separately. This increases the number of replication threads, especially for bigger ServiceNow instances. Most of the instances have only two nodes, but the bigger the instance the more nodes it has.

The second leap forward is the fact that even a single synchronization can utilize the whole thread pool (i.e. all connections) which makes a single-running table several times faster than before. Of course, the general throughput improvement (i.e. if multiple synchronizations are running) is tightly related to the number of nodes. But still, even if your instance has only two nodes then the overall data throughput is 4/3 times higher and an individual table replicates up to 4 times faster.

Example

The SnowMirror 3.x series used only one thread per synchronization and the max number of threads was 3. SnowMirror 4.x can utilize all threads for a single synchronization and the number of threads (i.e. sessions, concurrent connections) increases significantly for bigger instances making the whole throughput a lot higher.

Here are the performance improvements for sample ServiceNow instances (using the default of 2 sessions per node).

 

+420 222 508 297
info@snow-mirror.com