Open Source Projects:

About the Author

Peter Veentjer

Back to top

No posts were found matching that criteria.

Introducing Pipelining in Hazelcast IMDG 3.12

by Peter Veentjer

Hazelcast IMDG 3.12 contains a new performance optimization called pipelining. If you have a client/server with a 1ms round trip time, then a single thread will only be able to make 1/001=1000 operations per second. The most obvious way to improve performance is to add a second thread because with two threads you can do […]

Introducing Ringbuffer

by Peter Veentjer

Hazelcast Ringbuffer is a new data-structure added to Hazelcast 3.5 that in some cases can be a more practical alternative to queues. Think of Ringbuffer as a circular array with fixed capacity. Just as with an array, each item in a Ringbuffer is uniquely identified with a sequence id (a long). Ringbuffer is an append […]

HZ 3.5 Performance: Selector Imbalance

by Peter Veentjer

Performance, especially predictable performance, becomes a higher priority with every Hazelcast release. One of the performance issues in releases prior to 3.5 is that between benchmarks – every benchmark gets a fresh cluster – there often is a large performance variation, even though the performance during a benchmark is pretty stable. e.g. If we have […]

Simulator 0.4 released!

by Peter Veentjer

Internally the Performance/QA team is using a tool called the Simulator to simulate load on a Hazelcast cluster and see how it behaves when I apply this load for hours or even for day. This tool helps us to detect performance and stability problems early. The simulator can be used on a predefined set of […]

HZ 3.3 Client Performance Almost Doubled

by Peter Veentjer

In Hazelcast 3.2 client/member performance is not the same as member/member performance. For example, if we get String values from an IMap using 4 machines so that each machine has 1 client and 1 cluster-member. And we use 40 threads per client, 8 char keys and 100 char values, then the clients do roughly 190k […]

Performance Top 5 #2 Serialization options

by Peter Veentjer

This is the second of five blogposts how to improve performance in Hazelcast applications. When accessing data in Hazelcast, e.g. a distributed IMap, the data needs to be serialized to be transferred over the line. To deal with serialization, Hazelcast supports various serialization options. The most basic serialization option is the Unfortunately is […]

Performance Top 5 #1 Map.put vs Map.set

by Peter Veentjer

This is the first in a series of 5 blogposts about how to speed up Hazelcast applications. Some modifications are a bit more work and some are minor. Each of the blogpost will be backed up by a JMH benchmark to verify the performance improvement. All the benchmarks for this blog-series can be found in […]

AtomicReference and function methods

by Peter Veentjer

One of the new features in Hazelcast 3.2, which is going to be released in January, is the IAtomicReference. The IAtomicReference is the distributed version of the Java AtomicReference and can be created like this: This will create/load the IAtomicReference with the name ‘foo’. We already had the IAtomicLong, but the IAtomicReference is more versatile […]

Kryo Serializer

by Peter Veentjer

A week ago I was called in to help a large online webshop with a problem. They are using Hazelcast as a large cache, since with Hazelcast the data can be distributed over multiple machines and with a database this is a lot more complicated. The problem was that they could not keep enough products […]

Free Hazelcast Online Training Center

Whether you're interested in learning the basics of in-memory systems, or you're looking for advanced, real-world production examples and best practices, we've got you covered.