Maximize redo rate on replica side of an Availability Group My SQL Server databases are hosted on a highly spec'd converged platform with All Flash Storage Arrays, 40G network etc. 

However, we're still unable to get more than 50MB/s Redo Rate - I need this to be in the GB/sec range. 

The supporting platform can handle this - what is the bottleneck within SQL Server 2012 that stops it from maximizing the potential throughput and how can I overcome it? Even with a single-threaded process 50MB/s is poor - and totally useless given the amount of data we process.  

Updates:
When I'm on the server I can copy files between drives and get speeds > 1000MB/s.
After reboots I see Redo Rates spike as high as 300MB/s, so I know its possible in my environment, however it quickly reduces to its norm of 50MB/s even when the Recovery queue is sitting at 400G. That takes 8 hours to drain - leading to very unhappy Clients...
what is the bottleneck within SQL Server 2012 that stops it from maximizing the potential throughput and how can I overcome it? 


That was a major work item in SQL 2016.  


  The result is a design for SQL Server 2016 that provides high
  availability for the most demanding workloads on the latest hardware
  with minimal impact and scalable for the future. Our design for SQL
  Server 2012 and SQL Server 2014 is still proven and meets the demands
  for many of our customers. However, if you are looking to accelerate
  your hardware, our Always On Availability Group design for SQL Server
  2016 can keep pace.


See SQL Server 2016 – It Just Runs Faster: Always On Availability Groups Turbocharged