Riak at Wooga_Riak Meetup Sept 2013

Click here to load reader

  • date post

    21-Jan-2018
  • Category

    Technology

  • view

    1.748
  • download

    0

Embed Size (px)

Transcript of Riak at Wooga_Riak Meetup Sept 2013

  1. 1. Riak & Wooga by Guillermo lvarez @guillermooo
  2. 2. Wooga
  3. 3. API Key Value Store + extras
  4. 4. Security Auth
  5. 5. Sinatra
  6. 6. Chef + Amazon
  7. 7. Riak
  8. 8. eLevelDB 5 nodes x m1.xlarge 15 GB, 2 cores, 2 units
  9. 9. Ring Size 1024
  10. 10. Benchmark 5 MDAU = 225K rpm
  11. 11. ( CPU )
  12. 12. HA/PROXY APP SERVERS RIAK + MEMCACHED
  13. 13. MEMCACHED 95% PUTS 5% GETS 99% HITS
  14. 14. Benchmark Again
  15. 15. Launch week Now
  16. 16. Monitoring
  17. 17. Alerting
  18. 18. Problems we have
  19. 19. Riak Ring Size
  20. 20. OOM cluster death
  21. 21. 1 Node dies 0 people realize
  22. 22. Summary You should take care with your ring size You must do monitoring Reliable
  23. 23. Riak for Pearls Peril Daniel Doubleday http://de.linkedin.com/pub/daniel-doubleday/1/115/195/
  24. 24. Pearl Who?
  25. 25. Architecture Riak 1 Riak n App Server 1 HAProxy App Server n HAProxy Load Balancer 1 Load Balancer n
  26. 26. Data Model User stored as one JSON-CLOB Every client request needs to read / write average 4k data Needs concurrency control Ensures data consistency Reduces round trips Reduces number of keys
  27. 27. Data Set Total : ~ 15M Keys New : ~ 50k / Day Updates : ~ 100M / Day Requests : 100 - 200k rpm Per Server : ~ 75k rpm RW-Ratio : 50% / 50%
  28. 28. Cluster Info Hardware Bare Metal, 32GB 6 x 8-core AMD Opteron 2.6GHz 2 x 12-core Intel Xeon 2.0GHz Riak Version : 1.3.2 Storage : Bitcask
  29. 29. Storage Backend Bitcask Higher Throughput Predictable Read and Write Performance LevelDB Compression Supports large number of keys
  30. 30. The Good
  31. 31. A Typical Day
  32. 32. Adding a Node
  33. 33. The Bad
  34. 34. Performance Degradation
  35. 35. Nodes doing things
  36. 36. The Ugly
  37. 37. Cluster Failures
  38. 38. Conclusions It works ... most of the time NoSQL is becoming commodity Theres no shame in using mysql