Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Slow system performance with high I/O on only one drive
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Slow system performance with high I/O on only one drive

StyxStyx Member
edited May 2019 in Help

Hey LET.

I have a hetzner server, a i7 3770, 4 x 6TB drives, 32gb ram, and im having some issues. Some information about the system :

Im running windows server 2019
Disk 1 coontains windows server 2019 and 3vms in hyper-v. Disk I/O here is low, as the vms is not under any kind of heavy load
Disk 2 contains backups
Disk 3 is blank
Disk 4 is used only for seeding torrents.

I experience that when i have I/O on disk 4, the whole system slows down to sirup, even though windows is not installed there. I have 20gb ram free, and cpu is only around 20% when this happends.

If i close my torrent client who is seeding from disk 4, the problem stops instantly. There is only around 100 torrents in the client at the moment. The seeding speed is normally around 100mbit, but peaks to 1gbit some time after rss grabs a new torrent, but the slow system syndrome happens no matter what speed im seeding at.

Any tips here ? Bite the bullet and move everything to ssds? Its expensive to keep seeding data from ssds, and not sure if thats worth it. Only seeding to keep my ratio on a few private trackers.

Comments

  • solairesolaire Member

    If you run the performance tool of windows, how much load is put on disk 4 and any other disks when you start seeding? What chipset does your server have?

  • exception0x876exception0x876 Member, Host Rep, LIR

    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

  • StyxStyx Member

    @solaire said:
    If you run the performance tool of windows, how much load is put on disk 4 and any other disks when you start seeding? What chipset does your server have?

    Exactly the same amount that my torrent client reports in MB/s. Responsetime up in for 700-1000ms range at any time when I/O is over 30MB/s

    Chupset i have no idea.

  • StyxStyx Member

    @exception0x876 said:
    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

    Ram usage is only around 50%, so its not full. But interesting theory.

  • solairesolaire Member

    Styx said: Chupset i have no idea.

    You should find out (just find out the motherboard, you'll find the chipset from there). It could be the SATA controller for instance, so googling your chipset + slow disk speed may get you somewhere.

  • exception0x876exception0x876 Member, Host Rep, LIR

    @Styx said:

    @exception0x876 said:
    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

    Ram usage is only around 50%, so its not full. But interesting theory.

    The file cache is not shown as part of used memory.

    Thanked by 1RedSox
  • StyxStyx Member

    @exception0x876 said:

    @Styx said:

    @exception0x876 said:
    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

    Ram usage is only around 50%, so its not full. But interesting theory.

    The file cache is not shown as part of used memory.

    Do you believe that a newer server, with a nvme system disk istead of a hdd would solve the issue ? I really dont want to use ssd or nvme to seed torrents. That would be to expensive.

  • exception0x876exception0x876 Member, Host Rep, LIR

    @Styx said:

    @exception0x876 said:

    @Styx said:

    @exception0x876 said:
    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

    Ram usage is only around 50%, so its not full. But interesting theory.

    The file cache is not shown as part of used memory.

    Do you believe that a newer server, with a nvme system disk istead of a hdd would solve the issue ? I really dont want to use ssd or nvme to seed torrents. That would be to expensive.

    Yes, I believe it should solve the issue. I am not sure if there is a way to disable file caching for a specified drive in Windows.

    Thanked by 1RedSox
  • StyxStyx Member

    @exception0x876 said:

    @Styx said:

    @exception0x876 said:

    @Styx said:

    @exception0x876 said:
    I am not an expert with Windows Server, but if there is a cache for most used files in RAM then when you start running torrents it gets filled with torrents data and that could be the reason why all your other processes start reading from the other disks directly resulting in slower IO response time.

    Ram usage is only around 50%, so its not full. But interesting theory.

    The file cache is not shown as part of used memory.

    Do you believe that a newer server, with a nvme system disk istead of a hdd would solve the issue ? I really dont want to use ssd or nvme to seed torrents. That would be to expensive.

    Yes, I believe it should solve the issue. I am not sure if there is a way to disable file caching for a specified drive in Windows.

    Wondering if a 9900k server will be way overkill. Its sad to overpay for things you really dont need. I just use plex, storage and a few small vms really

  • StyxStyx Member

    Ended up ordering a ex62 with 2 x 8TB, and i added a 1tb nvme. Going to test it and see if better hardware helps

  • FalzoFalzo Member

    disk transfer rate isn't the same as iops. you are most likely running into heavy iowait with that old spinning rust and the tons of small chunks seeding.

  • StyxStyx Member

    @Falzo said:
    disk transfer rate isn't the same as iops. you are most likely running into heavy iowait with that old spinning rust and the tons of small chunks seeding.

    I get that, but why does everything slow down, when the seeding files is only on one seperate hdd?

  • FalzoFalzo Member
    edited May 2019

    https://serverfault.com/questions/12679/can-anyone-explain-precisely-what-iowait-is

    essentially it's blocking the cpu threads, waiting for the IO requests being done (without causing actual load to the cpu itself).
    now, if you have 8 threads on your cpu and all are waiting for getting their IO requests served, guess what happens...

    PS: I haven't used virtualization in windows, however, have you tried to run your torrent in a sperate VM and only assign half of the cores/threads to it. so while that VM might be sluggish then hopefully the rest of the system has enough breathing room.

    Thanked by 1uptime
  • StyxStyx Member
    edited May 2019

    @Falzo said:
    https://serverfault.com/questions/12679/can-anyone-explain-precisely-what-iowait-is

    essentially it's blocking the cpu threads, waiting for the IO requests being done (without causing actual load to the cpu itself).
    now, if you have 8 threads on your cpu and all are waiting for getting their IO requests served, guess what happens...

    PS: I haven't used virtualization in windows, however, have you tried to run your torrent in a sperate VM and only assign half of the cores/threads to it. so while that VM might be sluggish then hopefully the rest of the system has enough breathing room.

    Currently setting up the new server, i will try to run it in a vm. Doesnt matter if its sluggish, its just doing torrents anyway.

    I guess half of a 9900k should do the trick

    Thanked by 1Falzo
  • FalzoFalzo Member

    Styx said: Currently setting up the new server, i will try to run it in a vm. Doesnt matter if its sluggish, its just doing torrents anyway.

    I guess half of a 9900k should do the trick

    yes, that's what I would try too. and it's not the cpu that's hindering anyway, just the IO queue. if you serve the files you seed from the NVMe this should help a great deal, because the IO request will be served a hell lot faster, so the IO-wait should drop dramatically.

  • StyxStyx Member
    edited May 2019

    @Falzo said:

    Styx said: Currently setting up the new server, i will try to run it in a vm. Doesnt matter if its sluggish, its just doing torrents anyway.

    I guess half of a 9900k should do the trick

    yes, that's what I would try too. and it's not the cpu that's hindering anyway, just the IO queue. if you serve the files you seed from the NVMe this should help a great deal, because the IO request will be served a hell lot faster, so the IO-wait should drop dramatically.

    Not really planning to seed the torrents from the nvme, but i want the rest of the system running of a nvme.
    I`ve ordered a ex62 with 2 x 8tb hdds, and i added a 1tb nvme. Going to seed from a vm, running on one of the 8tb drives, host web and everything else i need on the nvme and use the secound 8tb for plex and backups. Thats the plan right now.

    The 9900k gives me alot of room to fire up more vms if i need that also.

    On top of that, the old server had some other issues to, random bluescreens and so on. So a new server is welcome anyway

  • FalzoFalzo Member

    Styx said: Going to seed from a vm, running on one of the 8tb drives, host web and everything else i need on the nvme and use the secound 8tb for plex and backups. Thats the plan right now.

    while I understand the thoughts behind that, the whole system would benefit most from putting the high IO capability of the NVMe to the service that really requires it... so the hot stuff should always be served first from there, so that the CPU doesn't get blocked by waiting.

    if you have scripted it anyway, maybe think about a two-zone setup where the new/urgent things can be served from nvme for a while before being relocated to the spinning rust when moving down the queue. however, let us know about the outcome of your setup ;-)

  • StyxStyx Member
    edited May 2019

    @Falzo said:

    Styx said: Going to seed from a vm, running on one of the 8tb drives, host web and everything else i need on the nvme and use the secound 8tb for plex and backups. Thats the plan right now.

    while I understand the thoughts behind that, the whole system would benefit most from putting the high IO capability of the NVMe to the service that really requires it... so the hot stuff should always be served first from there, so that the CPU doesn't get blocked by waiting.

    if you have scripted it anyway, maybe think about a two-zone setup where the new/urgent things can be served from nvme for a while before being relocated to the spinning rust when moving down the queue. however, let us know about the outcome of your setup ;-)

    Im not poor, but i cannot afford to host terrabytes of torrents on nvme drives im afraid. I will test it as i explained above and post results in a few days.

    Looking forward to have double the cpu benchmark, double the ram and nvme

    Thanked by 1Falzo
  • StyxStyx Member

    Done some testing now, this beast server is way overpowered for my useage. Running the seedbox inside a vm solves the issue in the first post. Now im here with a server way overpowered...

    Maybe try to find someone to share it with. I have half of a 9900k and 32gb ram to share :D

  • FalzoFalzo Member
    edited May 2019

    with hetzner you can cancel your order withing the first 14 days (free of any costs). and cancel the cancellation before midnight (if it's set for today)

    Thanked by 1Hetzner_OL
  • StyxStyx Member

    Or i can enjoy the new server, and look for someone to share it with. I like that idea alot better

  • Have you run smart test on the disk?

  • FalzoFalzo Member

    @FiroSolutions said:
    Have you run smart test on the disk?

    good luck with your... oh. wait.

Sign In or Register to comment.