Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Clojure News Feed Performance Testing

633 vues

Publié le

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.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Clojure News Feed Performance Testing

  1. 1. Clojure Performance Measuring throughput and latency Of a news feed Web service Written in Clojure
  2. 2. Features ● Participant Profiles ● Social Graph ● Social Broadcast ● Inbound Activity ● Outbound Activity ● Keyword Search
  3. 3. Components ● Postgresql ● Cassandra ● Solr ● Kafka ● Redis ● Jetty
  4. 4. Source Code ● https://github.com/gengstrand/clojure-newsfeed
  5. 5. 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)
  6. 6. Throughput
  7. 7. Throughput ● 100 threads ● Connection pool max size: 50 ● 5 < Social Broadcast < 50 ● 10 posts per user ● 10% searches ● 55 posts per second
  8. 8. 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
  9. 9. Postgresql Latency
  10. 10. Cassandra Latency
  11. 11. Solr Latency
  12. 12. Web Service Latency
  13. 13. 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
  14. 14. Thanks Glenn Engstrand

×