Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question
0

Space Local View

Hi!

I'm interested on how long does it take for a space local view to get notifications from space? Is there any configuration settings that sets this? h4. Attachments

[notific_benchm.jpg|/upfiles/13759720039974147.jpeg]

{quote}This thread was imported from the previous forum. For your reference, the original is [available here|http://forum.openspaces.org/thread.jspa?threadID=1906]{quote}

asked 2008-04-22 02:19:00 -0500

mihai gravatar image

updated 2013-08-08 09:52:00 -0500

jaissefsfex gravatar image
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

Notifications are asynchronous message delivery mechanism, especially used with one to many data delivery scenarios. With the following benchmark 1K payload size object has been written by a collocated feeder (500,000 operations) into an embedded space. A remote client running on another machine registered with various amount of notify registrations for getting notifications for incoming write operations. The notify registration done prior the feeder started to perform write operations. The space was running in a single space mode without replica backup space configured.

See attached results.

As we can see the maximum notification throughput capacity from a single remote space is 51,000 notifications/sec. Since the overhead of the write operations has been reduced to the minimum available (collocated feeder) we can measure the space notify throughput delivery very accurately. We do see impact on the write operation throughput as a function of the amount of notify registrations - drops from 35K/sec with 1 notify registration to 20K/sec with 5 notify registrations. Still, the space is not busy serving remote write operations, but only with embedded write operations and delivery of notifications to remote client.

Since the space executing write operations in very high rate, the notify delivery time increases as a function of the amount of notify registrations. Still , the notification throughput remains constant.

The results will be different with remote writer feeder. In this case since remote write operation are slower than embedded write operations, the notification throughput will be very close to the write rate. This would be relevant up-to certain amount of notify registrations.

You may want to configure the slow consumer parameters to make sure that a client that can?t cope with the incoming notifications would not affect other healthy clients.

We will provide ability to configure the local view to receive notifications in batches. This will increase the throughput , but will impact the latency.

Shay

Attachments

  1. notific_benchm.jpg

answered 2008-04-22 07:45:43 -0500

shay hassidim gravatar image
edit flag offensive delete link more

Comments

Is it normal to receive notifications after 1 minute or more, counting from moment when object was written to space ?

mihai gravatar imagemihai ( 2008-04-22 08:56:05 -0500 )edit

It is not normal. There is good chance the problem is stale registrations. How many notify registrations the space has? You can use the ui to see how many notify registration the space has.

The problem you are describing might happen when you have lots of ?stale? notify registrations within the space that were registered but have not been canceled and are still there. The space will cancel these automatically once it will identify these are ?stale? , but this will take some time (based on the notify retry space schema parameter). Since the space using a thread pool to send notifications , once you have s ?stale? notify registration this might cause the notify thread pool to be fully consumed , that will manifest this late notify delivery to existing live clients.

Try to clean the space , run your application , and see if the problem still exists.

Shay

shay hassidim gravatar imageshay hassidim ( 2008-04-22 09:21:53 -0500 )edit

Thank you Shay! I think I understand why it happens so. I have spaces runing on a different computer, from the application , and also the computer where spaces are runing is located in the first network, but the computer where application is running is located on a sub-network of the first network. Perhaps this is the problem.

mihai gravatar imagemihai ( 2008-04-22 10:16:54 -0500 )edit

I don't think this is causing the problem. The notify is TCP based , so I can't see why sub-network would cause a problem here.

Do you have by any chance multiple network cards ?

Can you set your java.rmi.server.hostname system property for the JVM running the space and the one running the client to have the correct IP?

Shay

shay hassidim gravatar imageshay hassidim ( 2008-04-22 10:56:40 -0500 )edit

I have set java.rmi.server.hostname property or the JVM running the space and no success. Server where spaces run has on network card, and my computer where client is running has 2 network cards. I disabled one of them, but again no success. I enabled logging and every time I start the space I find this in console window: Apr 23, 2008 5:04:12 PM Class: sun.rmi.server.UnicastServerRef Method: logCall FINER [sun.rmi.server.call]: RMI TCP Connection(4)-192.168.0.50: [192.168.0.50: sun.rmi.transport.DGCImpl[0:0:0, 2]: java.rmi .dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease)].

Please help!

mihai gravatar imagemihai ( 2008-04-23 09:06:50 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2008-04-22 02:19:00 -0500

Seen: 90 times

Last updated: Apr 22 '08