Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Clojure News Feed Performance Testing

632 visualizaciones

Publicado el

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.

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

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

×