Is there a way to reduce the write I/O load for the Jabber for Windows client?
We are currently running Jabber 10.6.0 build 52330 on windows 7 64bit with latest windows patches as of last patch cycle.
I am seeing 15 - 30 write I/O per second on machines in my environment for a Jabber Window that is minimized to the system tray. This IO load On a desktop machine this isn't a huge problem, however in a VDI environment this can start to impact performance.
My system has been online with Jabber for 7 days 8 hours and 35 minutes and the Jabber application has performed 80,278 Reads, and performed 6,752,493 writes.
To see this data for yourself, open Windows Task Manager, click the processes tab. From the View menu click on "Select Columns" and add check boxes next to "I/O Reads" and "I/O Writes".
I would be interested to hear the results that other people see from their Jabber clients. If you do respond with your results please fill out the below template, please include your Jabber version, system up time (Performance tab, "System" section under Up Time).
System Up Time:
On my Windows 7 x64 system, Google Chrome has well over 3 million reads and 3 million writes in a 2 hour time span. Compared to Chrome, Jabber doesn't look very write-intensive. Jabber for Windows is at about 54,000 writes, but I only started it up about 15 minutes ago.
Also, keep in mind that I/O Writes doesn't refer to a single write operation (like save a document). It refers to internal write operations, which could involve many writes for one call to write something to disk.
Just a wild guess, but it looks to me like Jabber for Windows does some writes every time there's a presence update for a contact.
Interesting. I made the incorrect assumption that I/O Read/Write was referring to disk/filesystem IO.
Microsoft's definition of what the I/O Read counter is: (Source What do the Task Manager memory columns mean? - Windows Help)
The number of read input/output operations generated by the process, including file, network, and device I/Os. I/O Reads directed to CONSOLE (console input object) handles aren't counted.
So this will include network reads also that might not impact the disk subsystem as I was thinking, however I still expect that every I/O is an interrupt to the processor which still should be managed/minimized to make the product more virtualization friendly.
FYI, your 3 million I/O in 2 hours averages out to about 415 I/O per second for Read and Write. If that was all disk related IO you would require an SSD drive or 5x 15k SAS drives in a RAID 0 to be able to maintain that IO rate (SSD are generally able to handle about 3000 IOPS where 15K SAS drives are able to handle between 180 and 250 IOPS per drive.)
I expect that you have some fairly chatty web sites up or plugins active that generate that much traffic in 2 hours.
Good points, thanks. I assume most of the I/O read/write operations for Jabber/Windows is net read/writes, too.
Windows, itself, is very disk intensive, IMO. When I run Windows on my old PC, the disk light flashes intermittently even when I'm not doing anything and have no applications open (yes, it's virus-free, and I have 8GB of RAM). Disabling the search processes doesn't help. When I run Linux on that same PC, the disk light rarely flashes unless I'm doing something.