Difference between revisions of "Performance research"

From CRIU
Jump to: navigation, search
Line 1: Line 1:
Written here are performance issues found
+
Written here are performance issues found.
 +
 
 +
Timing stats of live migration of a small container with 11 tasks is
 +
 
 +
* Total time ~3.5 seconds
 +
* Frozen time ~3.0 seconds
 +
** Pre-dump stages ~0.5 seconds each
 +
** Restore time ~1.9 seconds
 +
** Images transfer time ~0.3 seconds
 +
 
 +
Below is the list of issues found
  
 
== Dump ==
 
== Dump ==
Line 5: Line 15:
 
== <code>parse_smaps</code> ==
 
== <code>parse_smaps</code> ==
  
This guy exploits /proc heavily. For a container with 11 tasks the syscall stats look like
+
Time spent in this routine is about 0.1 seconds on dump. This one exploits /proc heavily. For a container with 11 tasks the syscall stats look like
  
 
     834 read
 
     834 read
Line 18: Line 28:
 
     11 openat(AT_FDCWD, "/proc/$pid/map_files", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
 
     11 openat(AT_FDCWD, "/proc/$pid/map_files", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
  
 
Time spent in this routine is about 0.1 seconds on dump.
 
  
 
== Restore ==
 
== Restore ==

Revision as of 20:54, 30 January 2014

Written here are performance issues found.

Timing stats of live migration of a small container with 11 tasks is

  • Total time ~3.5 seconds
  • Frozen time ~3.0 seconds
    • Pre-dump stages ~0.5 seconds each
    • Restore time ~1.9 seconds
    • Images transfer time ~0.3 seconds

Below is the list of issues found

Dump

parse_smaps

Time spent in this routine is about 0.1 seconds on dump. This one exploits /proc heavily. For a container with 11 tasks the syscall stats look like

   834 read
  1451 fstat
  1462 close
  1642 openat

while opens and stats happen on

   193 openat(4, "map-symlink", O_RDONLY) = -1 ENOENT (No such file or directory)
  1438 openat(4, "map-symlink", O_RDONLY) = 5
    11 openat(AT_FDCWD, "/proc/$pid/map_files", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4


Restore