O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Clojure News Feed Performance Testing

633 visualizações

Publicada em

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.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×