Mongo Db server status with wired Tiger
"bytes currently in the cache" : 6009288998 (5.5 GB), "maximum bytes


The number of bytes currently in wiredTiger cache.


  configured" : 7516192768 (7 GB), 


Maximum size cache is configured (by default half of physical memory on the server).


  "bytes read into cache" : 18380155206 (17 GB), 


Cumulative number of bytes that have been read into the cache since startup.


  "bytes written from cache" : 17020204785 (16 GB),


Cumulative number of bytes that have been written out of the cache into files on disk since startup.


  bulk update on DB3 with 23000 update command


You ran a single command with 23K update operations in it, so you were seeing the results you should have expected - you can see in the mongostat output that commands are constantly running and that you always have active writer.   

If you actually want high throughput you should use multiple threads to send the operations in parallel to allow use of all cores on the machine.


  see dirty% is getting increased continuously


That shows that in fact the writes are happening - higher and higher percentage of the cache is being written to (dirtied).  When a checkpoint starts running, the dirty percentage will go down signifying that data from the cache is being persisted to disk (but of course, it's also been written already into write-ahead-log aka journal at the time of original write).


  does compression of index also reduces RAM requirement


Yes, indexes are prefix-compressed and the format is the same on disk and in RAM.