Difference between revisions of "Performance research"
Jump to navigation
Jump to 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 | + | 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 | ||
| − | |||
| − | |||
== 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