Hi Denis,

First, I would like to ask why Continuous Queries have much better performance? 
Is it a batch packing CacheEntryEvents instead of one by one CacheEvent?


Secondly,  I put the client code in the gist 
https://gist.github.com/jackeylu/a4f8b1f4dbb4c55031becfa036a5cb34 , I think you 
can reproduce the result easily.


*. CacheOperations.java is the basic putting operations.

*.  ignite.xml is the configuration file used for client and servers.
*.  IgniteClientCacheEventPut.java is the benchmark code for putting with event 
listener.
*. IgniteClientSimplePut.java  is the benchmark code for putting only.
*. TimeRecord.java is a time consumer record.
*. Format.java provided OPS computing.
*. start-server.sh 
*. start-simple-client.sh
*. start-event-client.sh


I start the two cache servers in two servers with start-server.sh and 
ignite.xml, and then start the simple client with start-simple-client.sh 
ignite.xml 128, when it is done,
start-event-client.sh ignite.xml 128.


The OPS is,


simple-put, event-put
143546, 6433
148345, 6408
144624, 6454




Thanks for your help.


Regards,


Lin




------------------ Original ------------------
From:  "Denis Magda";<dma...@gridgain.com>;
Date:  Thu, Jun 30, 2016 09:29 PM
To:  "user"<user@ignite.apache.org>; 

Subject:  Re: performance of CacheEvents



Hi Lin,

First of all, I would suggest using Continuous Queries [1] since this 
functionality provide much stronger delivery guarantees rather than basic 
events sub-system.


Next, how your benchmark looks like? Just want to see what and how you measure.


[1] https://apacheignite.readme.io/docs/continuous-queries


??
Denis

On Jun 30, 2016, at 12:36 PM, Lin <m...@linlyu.com> wrote:

It looks like the bottleneck is the bandwidth, the eth is 1Gb, the bandwidth 
received in the client is 121 MB, it is almost reach the physical upper bound.


Can I remove or cut off some contents in the CacheEvent? Or using the custom 
event?




------------------ Original ------------------
From:  "Lin";<m...@linlyu.com>;
Date:  Thu, Jun 30, 2016 04:42 PM
To:  "user"<user@ignite.apache.org>; 

Subject:  performance of CacheEvents



Hi all,


I have one client node and two server node, the client registered only two 
events on a specified cache "cache1" ,
 the  EventType.EVT_CACHE_OBJECT_PUT and EventType.EVT_CACHE_OBJECT_REMOVED.


Compared with no events case, we test the cache puts operation with yardstick.
The OPS of cache puts can reach 70K OPS in the client, but only 5K OPS in the 
events case.


I know the housands of events per second will lead to performance degradation, 
and I have just enable the two events.
If I have to enable these two events, could you tell me how to or can I improve 
the performance?


PS: My network interface's bandwitdh is 1G, and the CPU loads is 15.4%, the 
used memory is 6.4G(total is 64G).


Best regards
Lin

Reply via email to