troex
By:
troex

Default elevator/scheduler set to cfq?

July 21, 2013 4.4k views
Default debian installation is using `cfq` scheduler for disk IO queue, it is widely known that for ssd `deadline` is much better (while `noop` can give higher performance in test, in real world it's not that optimal). I don't know much about DO cloud internals, so the question is will I benefit switching to `deadline` elevator?
4 Answers
I'm also interested in this question (and the answer). But when you talk about better performance, what sort of workload are you referring to? Desktop PC type scenario or webserver?
You can read more about the schedulers here: http://stackoverflow.com/questions/1009577/selecting-a-linux-i-o-scheduler/1010562#1010562

> noop is often the best choice for memory-backed block devices (e.g. ramdisks) and other non-rotational media (flash) where trying to reschedule I/O is a waste of resources

It really depends on what you're going to use your server for.

Sorry to bump such an old thread, but I'm not sure where I should go to set the scheduler. Is the correct device vda?

If so, I see none set as the scheduler (I'm running an Ubuntu 14.04 64-bit VM).

$ cat /sys/block/vda/queue/scheduler
none

If not, where do I set/change the scheduler? It's not obvious from the available devices on my VM:

$ ls -l /sys/block/
total 0
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop2 -> ../devices/virtual/block/loop2
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop3 -> ../devices/virtual/block/loop3
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop4 -> ../devices/virtual/block/loop4
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop5 -> ../devices/virtual/block/loop5
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop6 -> ../devices/virtual/block/loop6
lrwxrwxrwx 1 root root 0 Apr 16 11:51 loop7 -> ../devices/virtual/block/loop7
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram0 -> ../devices/virtual/block/ram0
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram1 -> ../devices/virtual/block/ram1
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram10 -> ../devices/virtual/block/ram10
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram11 -> ../devices/virtual/block/ram11
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram12 -> ../devices/virtual/block/ram12
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram13 -> ../devices/virtual/block/ram13
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram14 -> ../devices/virtual/block/ram14
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram15 -> ../devices/virtual/block/ram15
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram2 -> ../devices/virtual/block/ram2
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram3 -> ../devices/virtual/block/ram3
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram4 -> ../devices/virtual/block/ram4
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram5 -> ../devices/virtual/block/ram5
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram6 -> ../devices/virtual/block/ram6
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram7 -> ../devices/virtual/block/ram7
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram8 -> ../devices/virtual/block/ram8
lrwxrwxrwx 1 root root 0 Apr 16 11:51 ram9 -> ../devices/virtual/block/ram9
lrwxrwxrwx 1 root root 0 Apr 16 11:50 vda -> ../devices/pci0000:00/0000:00:05.0/virtio2/block/vda

Thanks!

Strange, I was looking at the same thing today. I have the same question as Jeremy, I'm assuming it's because we're running DO's kernel.

Have another answer? Share your knowledge.