3. Where is Riak
‣ Source and Solaris
‣ /etc/riak
‣ /usr/sbin/riak|riak-admin
‣ /usr/lib|lib64/riak << Meat
‣ /var/log/riak << Log Dir
‣ /var/lib/riak << Data Dir
‣ /tmp/riak << Sockets
basho
Friday, April 15, 2011
5. /usr/sbin/riak
‣ Wrapped by /etc/init.d/riak
‣ Runs Riak User (sudo)
‣ start | stop
‣ restart|reboot
‣ ping
‣ console | attach
basho
Friday, April 15, 2011
6. /usr/sbin/riak-admin
‣ join | leave | remove | reip
‣ backup | restore (cluster or node)
‣ test | status | js_reload
‣ wait-for-service | ringready | transfers
‣ cluster_info
basho
Friday, April 15, 2011
7. riak-admin status
vnode gets/puts in
read-repairs in the
the last 60 seconds gets/puts
total vnode
last 60 seconds
node gets since start
in the
total node gets
last 60 seconds
since start times
get_fsm
node puts in inthe
microseconds
total node puts
last 60 seconds
since start
put_fsm times
total read-repairs
in microseconds
since start
basho
Friday, April 15, 2011
18. Riak Performance
‣ MANY Variables
‣ Backend Choice (Innostore vs Bitcask)
‣ Hardware vs Virtualized
‣ Access Patterns
‣ Correct System Configuration
‣ Knowing your Environment
basho
Friday, April 15, 2011
19. Bitcask Tuning
‣ KeyDir is in Memory
‣ Fileystem Cache (Access Profile Considerations)
‣ Merge Trigger Settings
‣ Scheduling Bitcask Merges
‣ Key Expiration
basho
Friday, April 15, 2011
20. Innostore Tuning
‣ Similar to MySQL + InnoDB
‣ buffer pool size
‣ o_direct
‣ log_files_in_groups
‣ Separate Spindles for Log and Data
basho
Friday, April 15, 2011
21. Tools You Should Know
‣ riak-admin status
‣ top
‣ iostat -x 2
‣ sar
‣ basho_bench
basho
Friday, April 15, 2011
24. Tips for Performance
‣ Start with a “DB” Like Machine Profile
‣ noatime mounts
‣ Ring Size
‣ Horizontal vs Vertical Scaling
‣ Basho Bench Testing
‣ Limit List Keys and Full Bucket
MapReduce
‣ Graph Everything
basho
Friday, April 15, 2011
25. Metrics & Monitoring
‣ Integrates with Everything!!
‣ SNMP (Enterprise Plug)
‣ JMX (Enterprise Plug)
‣ Wrapping riak-admin status
‣ /ping
‣ /stats
‣ Read/Write a Key
basho
Friday, April 15, 2011
26. Load Balancing
‣ HTTP - HAProxy, nginx, etc...
‣ Protocol Buffers - Any TCP Load Balancer
‣ Least Connected
basho
Friday, April 15, 2011
28. A node has horked!
Now what?
‣ That Depends.....
‣ How did the node die?
‣ Do you still have the data?
‣ Start the Node
‣ No data?
‣ Restore or Replace Node
basho
Friday, April 15, 2011
29. Configuration
Management
‣ Riak is Unix
‣ Chef, Puppet, Etc.
‣ Chef Cookbook is Advanced
‣ “Auto” Joining Nodes to a Cluster
(ringready)
‣ Node vs IP Naming (vm.args -name)
basho
Friday, April 15, 2011
30. Security
‣ SSL
‣ No Built In Authentication
‣ HTTP Auth Via Proxy
‣ Riak on the Internet?
‣ Follow Best Practices
basho
Friday, April 15, 2011
31. System
Recommendations
‣ Multi-core 64-bit CPUs
‣ The More RAM the Better
‣ Fast Disk (Raid0? SSD? SAS?)
‣ SAN vs Local Disk
‣ Virtualization Caveats
basho
Friday, April 15, 2011
32. EC2 and EBS
‣ Follow DB Best Practices
‣ To EBS or Not to EBS?
‣ Raid0 is Faster, but an OPS Headache
‣ Speed vs Fault Tolerance (Availability Zones)
‣ Specific Tweaks for EC2 (net_ticktime)
‣ There are MANY successful deployments.
basho
Friday, April 15, 2011
33. Obligatory Plug
For more information about support,
professional services, or an Enterprise
licenses please contact info@basho.com or
visit http://www.basho.com/contact.php
basho
Friday, April 15, 2011