Ubuntu 8.04 x64, 2.6.24
Deluge 1.1.9
Python 2.5
I'm getting very high iowait with Deluge. The process is taking say 3-5% cpu, and iowait is another 90% cpu. Deluge seems to be bound to one cpu only even though there are four on this seedbox, but that is another story.
The iowait seems to be having an impact on performance. This is a 100mbit box and I can routinely get 10mb up and 10mb down, but only when serving one torrent. As the number of torrents increase, the iowait grows exponentially, and overall torrent speed is reduced to less than 1-2 meg a second.
The hard disks are hardware RAID 1 with an Adaptec 5405 with 256MB of on-board cache. The server has 8GB of ram and is a Quad Xeon. I do not think there is any real disk bottleneck occurring, I am instead thinking there is something wrong with the Deluge disk caching method?
Any insight or ideas on how to improve?
Very high iowait causing low performance
Re: Very high iowait causing low performance
ctrlbrk wrote:Ubuntu 8.04 x64, 2.6.24
Deluge 1.1.9
Python 2.5
I'm getting very high iowait with Deluge. The process is taking say 3-5% cpu, and iowait is another 90% cpu. Deluge seems to be bound to one cpu only even though there are four on this seedbox, but that is another story.
The iowait seems to be having an impact on performance. This is a 100mbit box and I can routinely get 10mb up and 10mb down, but only when serving one torrent. As the number of torrents increase, the iowait grows exponentially, and overall torrent speed is reduced to less than 1-2 meg a second.
The hard disks are hardware RAID 1 with an Adaptec 5405 with 256MB of on-board cache. The server has 8GB of ram and is a Quad Xeon. I do not think there is any real disk bottleneck occurring, I am instead thinking there is something wrong with the Deluge disk caching method?
Any insight or ideas on how to improve?
I would suggest increasing the disk cache size.. but unfortunately that is only available in 1.2 (trunk).
Re: Very high iowait causing low performance
Thanks, I had the same idea after reading here on the forum 1.2 has disk cache features. But, unfortunately I cannot get the trunk to build.andar wrote: I would suggest increasing the disk cache size.. but unfortunately that is only available in 1.2 (trunk).
this is some output from python setup.py after getting the svn 1.2 trunk
If that doesn't provide enough info let me know. Not sure where to begin with this, maybe you know from experience (am hoping).
hmm txt extension not allowed, log extension not allowed, so I had to zip it.
- Attachments
-
- gcc-failed-with-exit-status-1.zip
- (2.44 KiB) Downloaded 406 times
Re: Very high iowait causing low performance
You don't have the boost development libraries installed.ctrlbrk wrote:Thanks, I had the same idea after reading here on the forum 1.2 has disk cache features. But, unfortunately I cannot get the trunk to build.andar wrote: I would suggest increasing the disk cache size.. but unfortunately that is only available in 1.2 (trunk).
this is some output from python setup.py after getting the svn 1.2 trunk
If that doesn't provide enough info let me know. Not sure where to begin with this, maybe you know from experience (am hoping).
hmm txt extension not allowed, log extension not allowed, so I had to zip it.
See http://dev.deluge-torrent.org/wiki/Installing/Source for information on how to install trunk.
Re: Very high iowait causing low performance
Well it compiled. Unfortunately, as soon as I connect it opens Connection Manager (which is empty) and when I click Add to add http://localhost it outputs to the console:
[ERROR ] 03:37:54 config:379 Error writing new config file: 'module' object has no attribute 'dump'
And I can get no further.
I already deleted the deluge directory under ~/.config to clean out things.
[ERROR ] 03:37:54 config:379 Error writing new config file: 'module' object has no attribute 'dump'
And I can get no further.

I already deleted the deluge directory under ~/.config to clean out things.
Re: Very high iowait causing low performance
have you installed all the dependencies: http://dev.deluge-torrent.org/wiki/Installing/Source ?
(in particular the simplejson one)
(in particular the simplejson one)
Re: Very high iowait causing low performance
I had the same problem on a smaller seedbox (2 cores 2.8Ghz, 2Gb RAM, 2 sata disks).
To solve my problem I did two things :
- change no raid to raid0 (soft raid)
- use xfs instead of ext3
No problem to use 100Mbits/s now, even with 170 seeds.
To solve my problem I did two things :
- change no raid to raid0 (soft raid)
- use xfs instead of ext3
No problem to use 100Mbits/s now, even with 170 seeds.
Re: Very high iowait causing low performance
Getting back on topic here ---andar wrote:ctrlbrk wrote:Ubuntu 8.04 x64, 2.6.24
Deluge 1.1.9
Python 2.5
I'm getting very high iowait with Deluge. The process is taking say 3-5% cpu, and iowait is another 90% cpu. Deluge seems to be bound to one cpu only even though there are four on this seedbox, but that is another story.
The iowait seems to be having an impact on performance. This is a 100mbit box and I can routinely get 10mb up and 10mb down, but only when serving one torrent. As the number of torrents increase, the iowait grows exponentially, and overall torrent speed is reduced to less than 1-2 meg a second.
The hard disks are hardware RAID 1 with an Adaptec 5405 with 256MB of on-board cache. The server has 8GB of ram and is a Quad Xeon. I do not think there is any real disk bottleneck occurring, I am instead thinking there is something wrong with the Deluge disk caching method?
Any insight or ideas on how to improve?
I would suggest increasing the disk cache size.. but unfortunately that is only available in 1.2 (trunk).
After I upgraded to 1.2 rc6 (trunk) I can report that a single instance of Deluge is now handling 25-30MB/sec on my seedbox before maxing out due to IOwait. I'm using a 32768 setting for the cache, it causes the Python deluge daemon process to use about 1GB of memory. I guess I could bump it up more, but I am very happy with 25-30MB/sec. Huge improvement, great job!
Now I don't have to run multiple daemons on my server any more, which was a real pain to manage!

Re: Very high iowait causing low performance
You may find even better performance with libtorrent 0.15 (which is currently unreleased but available from their svn repo).ctrlbrk wrote:Getting back on topic here ---andar wrote:ctrlbrk wrote:Ubuntu 8.04 x64, 2.6.24
Deluge 1.1.9
Python 2.5
I'm getting very high iowait with Deluge. The process is taking say 3-5% cpu, and iowait is another 90% cpu. Deluge seems to be bound to one cpu only even though there are four on this seedbox, but that is another story.
The iowait seems to be having an impact on performance. This is a 100mbit box and I can routinely get 10mb up and 10mb down, but only when serving one torrent. As the number of torrents increase, the iowait grows exponentially, and overall torrent speed is reduced to less than 1-2 meg a second.
The hard disks are hardware RAID 1 with an Adaptec 5405 with 256MB of on-board cache. The server has 8GB of ram and is a Quad Xeon. I do not think there is any real disk bottleneck occurring, I am instead thinking there is something wrong with the Deluge disk caching method?
Any insight or ideas on how to improve?
I would suggest increasing the disk cache size.. but unfortunately that is only available in 1.2 (trunk).
After I upgraded to 1.2 rc6 (trunk) I can report that a single instance of Deluge is now handling 25-30MB/sec on my seedbox before maxing out due to IOwait. I'm using a 32768 setting for the cache, it causes the Python deluge daemon process to use about 1GB of memory. I guess I could bump it up more, but I am very happy with 25-30MB/sec. Huge improvement, great job!
Now I don't have to run multiple daemons on my server any more, which was a real pain to manage!