Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Clojure News Feed Performance Testing

633 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×