Clojure News Feed Performance Testing

50 %
50 %
Information about Clojure News Feed Performance Testing

Published on February 14, 2014

Author: gengstrand



Do web services written in Clojure perform as well as those written in Java? We put this modest 5 node cluster to the load test on EC2 just to see what it could take.

Clojure Performance Measuring throughput and latency Of a news feed Web service Written in Clojure

Features ● Participant Profiles ● Social Graph ● Social Broadcast ● Inbound Activity ● Outbound Activity ● Keyword Search

Components ● Postgresql ● Cassandra ● Solr ● Kafka ● Redis ● Jetty

Source Code ●

AWS Deployment ● Ubuntu Server 12.04.3 LTS 64 bit ● Servers (no provisioned IOPs) – ● Database (RDS) – ● m1.medium (2 ECUs, 1 vCPUs, 3.7 GiB memory, 1 x 410 GiB Storage Capacity) db.m1.medium Client Load Machine – m1.large (4 ECUs, 2 vCPUs, 7.5 GiB memory, 2 x 420 GiB Storage Capacity)


Throughput ● 100 threads ● Connection pool max size: 50 ● 5 < Social Broadcast < 50 ● 10 posts per user ● 10% searches ● 55 posts per second

Latency Overall ● Poor at the beginning – cold cache ● Really good 15 minutes in ● Bad spike near the end of the first hour ● Steady performance in the second hour

Postgresql Latency

Cassandra Latency

Solr Latency

Web Service Latency

Summary ● Cloud Spike ● Postgresql latency similar to Cassandra ● Solr indexing twice as slow ● Between 50 and 70 requests per second ● Clojure just as fast as Java ● Jetty performed well

Thanks Glenn Engstrand

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Clojure performance tests and clojure a little slower than ...

... Clojure performance tests and clojure a little slower than Java: Glen Stampoultzis: 8/12/09 8:40 PM: There was a good thread on this list some weeks ...
Read more


Clojure is a robust, ... You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream. Functional Programming.
Read more

GitHub - aphyr/clojure-perf: Mucking around with clojure ...

clojure-perf - Mucking around with clojure performance testing. clojure-perf - Mucking around with clojure performance testing. Skip to content.
Read more

Performance testing in Clojure (Part I) — Medium

Performance testing in Clojure (Part I) I wrote a small Clojure library for doing performance tests. For reports it uses nice charts provided by Gatling ...
Read more

Performance testing - Clojure High Performance Programming ...

Performance testing Testing for performance requires that we know what we are going to test, ... You are previewing Clojure High Performance Programming ...
Read more

Clojure High Performance Programming | PACKT Books

Written for intermediate Clojure developers, ... It tackles all the fundamentals of analyzing and optimizing performance in clear, logical chapters.
Read more

GitHub - clojure/clojure: The Clojure programming language

* Clojure * Copyright (c) Rich Hickey. All ... To build: mvn package The built JARs will be in target/ To build without testing: ...
Read more

Clojure - ClojureScript

ClojureScript ClojureScript ... ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible ...
Read more