Published on February 14, 2014
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 ● https://github.com/gengstrand/clojure-newsfeed
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
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
... 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 ...
Clojure is a robust, ... You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream. Functional Programming.
clojure-perf - Mucking around with clojure performance testing. clojure-perf - Mucking around with clojure performance testing. Skip to content.
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 ...
Performance testing Testing for performance requires that we know what we are going to test, ... You are previewing Clojure High Performance Programming ...
Written for intermediate Clojure developers, ... It tackles all the fundamentals of analyzing and optimizing performance in clear, logical chapters.
* Clojure * Copyright (c) Rich Hickey. All ... To build: mvn package The built JARs will be in target/ To build without testing: ...