Turns out yesterday we fixed a bug and introduced a new bug, which was previously hidden by yet another bug which in turn we had fixed last week... %)
In result last fix led to greatly increased number of requests to the database.
But still, thanks for that, we found out about too frequent checkpoints and that our recommendations table has three times more dead tuples than live ones.
We will fix our autovacuum configuration.
As for other problem - 100% cpu load with idle disks - it is no more reproducing and we don't want it to :)