Performance on Clojure collector

48 views
Skip to first unread message

Miguel

unread,
Mar 29, 2016, 4:19:06 PM3/29/16
to Snowplow
Hi,
I'm planning on starting using the Clojure collector, so with the aim on knowing if that could fit my needs I'm running some stress tests.
Is there any documentation, old post or past analysis where I can find useful information about the performance for this collector?

I would like to see basically the amount of queries per second people is handling with this collector. 
Also, is there anyone tweaking JVM heap size for improving performance on it?

Thanks in advance.

Alex Dean

unread,
Mar 29, 2016, 9:38:41 PM3/29/16
to Snowplow
Hi Miguel,

It's a good question - we are working on a new load testing framework for Snowplow called Avalanche, and a first priority with Avalanche is going to be to test and document the performance of the Clojure Collector. Stay tuned!

Alex

--
You received this message because you are subscribed to the Google Groups "Snowplow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snowplow-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Co-founder
Snowplow Analytics
The Roma Building, 32-38 Scrutton Street, London EC2A 4RQ, United Kingdom
+44 (0)203 589 6116
+44 7881 622 925
@alexcrdean
Message has been deleted

Miguel

unread,
Mar 30, 2016, 5:15:24 AM3/30/16
to Snowplow
Hi Alex,
Thanks for the information.
But, do you have an estimation of the traffic it can handle?

Thanks.

Yali Sassoon

unread,
Mar 30, 2016, 9:11:30 AM3/30/16
to snowpl...@googlegroups.com
Hi Miguel,

We have users on our Managed Service recording upwards of 150m events per day using the Clojure collector.
HTH,


Yali

--
You received this message because you are subscribed to the Google Groups "Snowplow" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snowplow-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Co-founder
Snowplow Analytics
The Roma Building, 32-38 Scrutton Street, London EC2A 4RQ, United Kingdom

Miguel

unread,
Mar 30, 2016, 9:18:42 AM3/30/16
to Snowplow
Hi Yali,
I'm testing it, and the average number of requests for keeping the latency around ~3ms is ~100 requests / second. Not really good, as I was expecting around 800 ~ 1k requests/second in a C4/C3 instance.

Thanks

jo...@snowplowanalytics.com

unread,
Mar 30, 2016, 9:45:21 AM3/30/16
to Snowplow
Hi Miguel,

Some statistics from a recent in-house load test:

 - Instance type: m3.medium
 - Peak instance count: 18
 - Event per/second/instance: ~600 (or ~650,000) per minute
 - Average latency: ~3-5 ms

As you can see from this it seems very strange that you would be seeing so much latency on the collector.  I will however add a ticket to Avalanche to test the maximum count of events that a particular instance type can handle and still respond within the 3-5 ms range.

A few questions to see if there is anything strange going on:

- Are you sending particularly large events? 
- GET or POST requests?  
- What is the network throughput from the load balancer?

Cheers,
Josh

Miguel

unread,
Mar 30, 2016, 10:21:18 AM3/30/16
to Snowplow
Hi Josh,
Are you handling ~600 requests / second using a m3.medium with ~3-5ms latency?

Regarding my requests, is the same one, a GET request, again and again, not so big.

jo...@snowplowanalytics.com

unread,
Mar 30, 2016, 11:29:44 AM3/30/16
to Snowplow
Hi Miguel,

Yes that is correct, ~600 events / second using m3.medium.  However it should be noted that at this point the boxes were all hovering around the 75-85% CPU usage.  So in production this should have been scaled up by another 3-4 instances to bring it down to around ~500 and a healthier CPU usage.  However on a larger instance type it should have no issues doing these loads.  The test noted above was also done using GET requests.

What is your exact setup of the collector at the moment?
Are you running the collectors publicly or behind a NAT?
 - If NAT what is the instance type?

Cheers,
Josh

Miguel

unread,
Mar 30, 2016, 11:57:06 AM3/30/16
to Snowplow
Hi Josh,
I'm deploying in EB the war file generated when doing `lein aws` from the clojure collector. A part from that anything special. I'm deploying it as it comes by default.
Also sending GET petitions from another instance using JMeter (http://jmeter.apache.org/)
The CPU is really low, for the current test I'm running (c4.xlarge),but I'm having high latency peaks. 

Take a look at the following graphs for the same period, request + latency:




Reply all
Reply to author
Forward
0 new messages