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