{"id":7280,"date":"2019-02-28T13:12:24","date_gmt":"2019-02-28T13:12:24","guid":{"rendered":"http:\/\/system-administrators.info\/?p=7280"},"modified":"2019-02-28T13:13:10","modified_gmt":"2019-02-28T13:13:10","slug":"perf-%d0%b8-flamegraphs","status":"publish","type":"post","link":"https:\/\/system-administrators.info\/?p=7280","title":{"rendered":"Perf \u0438 flamegraphs"},"content":{"rendered":"<div class=\"post__body post__body_full\">\n<div class=\"post__text post__text-html js-mediator-article\">\n<p>\u041e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0435\u043c\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0437\u043a\u0438\u0445 \u043c\u0435\u0441\u0442. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u043c\u0435\u0441\u0442 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043b\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u0432 Linux \u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0442\u0440\u0430\u0431\u043b\u0448\u0443\u0442\u0438\u043d\u0433\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0445\u043e\u0441\u0442\u0430.<!--more--><\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440 1. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439<\/h2>\n<h3>\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/h3>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u0435 \u2015 \u044d\u0442\u043e \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435, \u0430 \u043f\u043e\u0437\u0436\u0435 \u2015 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u041f\u041e. \u041a \u043d\u0430\u043c \u043d\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b \u0434\u0438\u0441\u043a Intel Optane. \u0420\u0430\u043d\u0435\u0435 \u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0438\u0441\u043a\u043e\u0432 Optane \u043c\u044b \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438\u00a0<a href=\"https:\/\/blog.selectel.ru\/tag\/intel-optane-ssd\/\">\u0432 \u043d\u0430\u0448\u0435\u043c \u0431\u043b\u043e\u0433\u0435<\/a>.<\/p>\n<p>\u0414\u0438\u0441\u043a \u0431\u044b\u043b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u0438, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0430\u0432\u043d\u043e \u043f\u043e\u0434 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<br \/>\n<a name=\"habracut\"><\/a><br \/>\n\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0441\u0435\u0431\u044f \u043d\u0435 \u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0435 \u0441 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0432 1 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 1 \u043f\u043e\u0442\u043e\u043a, \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0432 4\u041a\u0431\u0430\u0439\u0442\u0430 \u043e\u043a\u043e\u043b\u043e ~70Kiops. \u0410 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e: \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 13 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441!<\/p>\n<p>\u0421\u0442\u0440\u0430\u043d\u043d\u043e, \u0432\u0435\u0434\u044c\u00a0<a href=\"https:\/\/ark.intel.com\/products\/97159\/Intel-Optane-SSD-DC-P4800X-Series-1_5TB-12-Height-PCIe-x4-3D-XPoint\">\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/a>\u00a0\u043e\u0431\u0435\u0449\u0430\u0435\u0442 \u201cLatency \u2015 Read 10 \u00b5s\u201d, \u0430 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430 30% \u0431\u043e\u043b\u044c\u0448\u0435, \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f. \u0414\u0438\u0441\u043a \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u0431\u043e\u043b\u0435\u0435 \u00ab\u0441\u0432\u0435\u0436\u0435\u0439\u00bb \u0441\u0431\u043e\u0440\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435.<\/p>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?<\/h3>\n<p>\u0417\u0430\u0431\u0430\u0432\u043d\u043e, \u043d\u043e \u0434\u0438\u0441\u043a \u043d\u0430 \u043d\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0430\u0441\u044c, \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b\u043e\u0441\u044c, CPU \u0432 \u043f\u043e\u043b\u043a\u0443, \u0432 1 \u043f\u043e\u0442\u043e\u043a \u0432 1 \u0437\u0430\u043f\u0440\u043e\u0441, 4\u041a\u0431\u0430\u0439\u0442\u0430 \u0431\u043b\u043e\u043a\u0430\u043c\u0438, ~106Kiops \u043f\u0440\u0438 ~9 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<p>\u0418 \u0442\u0443\u0442 \u0441\u0430\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f\u00a0<s>\u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/s>\u00a0\u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0438\u0437 \u0448\u0438\u0440\u043e\u043a\u0438\u0445 \u0448\u0442\u0430\u043d\u0438\u043d\u00a0<b>perf<\/b>. \u0412\u0435\u0434\u044c \u043d\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a? \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438\u00a0<b>perf<\/b>\u00a0\u043c\u043e\u0436\u043d\u043e:<\/p>\n<ul>\n<li>\u0421\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u0432: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043a\u044d\u0448-\u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432, \u043d\u0435\u0432\u0435\u0440\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0442.\u043f. (PMU events)<\/li>\n<li>\u0421\u043d\u0438\u043c\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0440\u0435\u0439\u0441\u043f\u043e\u0438\u043d\u0442\u043e\u0432, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439<\/li>\n<li>\u041f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0443<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c CPU sampling.<\/p>\n<p>\u0421\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u00a0<b>perf<\/b>\u00a0\u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u0441\u0442\u044d\u043a \u0442\u0440\u0435\u0439\u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439\u00a0<b>perf<\/b>\u00a0\u0431\u0443\u0434\u0435\u0442 \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u043b\u0430\u0433<i>\u00a0-F #<\/i>, \u0433\u0434\u0435\u00a0<i>#<\/i>\u00a0\u2015 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u044d\u043c\u043f\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u0430\u044f \u0432 \u0413\u0446.<\/p>\n<p>\u0422\u0443\u0442 \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0447\u0435\u043c \u0432\u044b\u0448\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u044d\u043c\u043f\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0448\u0430\u043d\u0441\u043e\u0432 \u043f\u043e\u0439\u043c\u0430\u0442\u044c \u0432\u044b\u0437\u043e\u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u043e \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u043e\u0440\u043c\u043e\u0437\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0435\u0440\u0430 \u0432\u043d\u043e\u0441\u0438\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u0430, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0448\u0430\u043d\u0441\u043e\u0432, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0435\u043a\u0430 \u043c\u044b \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u043c.<\/p>\n<p>\u041f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0434\u0440\u0430\u0432\u044b\u043c \u0441\u043c\u044b\u0441\u043b\u043e\u043c \u0438 \u043e\u0434\u043d\u043e\u0439 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c\u044e \u2014 \u0441\u0442\u0430\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0435\u0442\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0441\u044d\u043c\u043f\u043b\u044b \u043f\u043e\u043f\u0430\u0434\u0435\u0442 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u043f\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0443 \u0441 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439.<\/p>\n<p>\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u0432\u0432\u043e\u0434\u0438\u0442 \u0432 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u2015 \u041f\u041e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043e \u0441 \u0444\u043b\u0430\u0433\u043e\u043c\u00a0<i>-fno-omit-frame-pointer<\/i>, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0418\u043d\u0430\u0447\u0435 \u0432 \u0442\u0440\u0435\u0439\u0441\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043f\u043b\u043e\u0448\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00a0<i>unknown<\/i>. \u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u041f\u041e \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0438\u0434\u0443\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<i>someutil-dbg<\/i>. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0445 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c\u00a0<b>perf<\/b>.<\/p>\n<p>\u041d\u0430\u043c\u0438 \u0431\u044b\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f:<\/p>\n<ul>\n<li>\u0412\u0437\u044f\u0442 fio \u0438\u0437 git:\/\/git.kernel.dk\/fio.git, \u0442\u044d\u0433 fio-3.9<\/li>\n<li>\u0412 Makefile \u043a CPPFLAGS \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u043f\u0446\u0438\u044f\u00a0<em>-fno-omit-frame-pointer<\/em><\/li>\n<li>\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u00a0<em>make -j8<\/em><\/li>\n<\/ul>\n<pre><code class=\"bash hljs\">perf record -g ~\/fio\/fio --name=<span class=\"hljs-built_in\">test<\/span> --rw=randread --bs=4k --ioengine=pvsync2  --filename=\/dev\/nvme0n1 --direct=1 --hipri --filesize=1G<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f -g \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0441\u0442\u0435\u043a \u0442\u0440\u0435\u0439\u0441\u043e\u0432.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash hljs\">perf report -g fractal<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f\u00a0<i>-g fractal<\/i>\u00a0\u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u044b, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u044d\u043c\u043f\u043b\u043e\u0432 \u0441 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435\u00a0<b>perf<\/b>, \u0431\u044b\u043b\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0437\u0430 100%.<\/p>\n<p>\u0411\u043b\u0438\u0436\u0435 \u043a \u043a\u043e\u043d\u0446\u0443 \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 fio \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u00ab\u0441\u0432\u0435\u0436\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438\u00bb \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c:<\/p>\n<p><img alt=' ypnjb3xkf3urq140p0qssevtku-8341450' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/ypnjb3xkf3urq140p0qssevtku-8341450.png' \/><\/p>\n<p>\u0410 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u201c\u0441\u0442\u0430\u0440\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438\u201d:<\/p>\n<p><img alt=' gqkxulpyxspbmfudoxhh7ysdv1e-2481503' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/gqkxulpyxspbmfudoxhh7ysdv1e-2481503.png' \/><\/p>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u041d\u043e \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0445 \u0444\u043b\u0435\u0439\u043c\u0433\u0440\u0430\u0444\u043e\u0432.<\/p>\n<h3>\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0444\u043b\u0435\u0439\u043c\u0433\u0440\u0430\u0444\u043e\u0432<\/h3>\n<p>\u0427\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430:<\/p>\n<ul>\n<li>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439\u00a0<a href=\"https:\/\/github.com\/brendangregg\/FlameGraph\">flamegraph<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Netflix\/flamescope\">Flamescope<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0441\u044d\u043c\u043f\u043b\u043e\u0432 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043e\u0442\u0440\u0435\u0437\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 CPU \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 \u0432\u0441\u043f\u043b\u0435\u0441\u043a\u0430\u043c\u0438<\/li>\n<\/ul>\n<p>\u042d\u0442\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 \u0432\u044b\u0432\u043e\u0434\u00a0<b>perf script &gt; result<\/b>.<\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u00a0<i>result<\/i>\u00a0\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0439\u043f\u044b \u0432\u00a0<i>svg<\/i>:<\/p>\n<pre><code class=\"bash hljs\">FlameGraph\/stackcollapse-perf.pl .\/result | FlameGraph\/flamegraph.pl &gt; .\/result.svg<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0438 \u043d\u0430\u0441\u043b\u0430\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u043a\u043b\u0438\u043a\u0430\u0431\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u043e\u0439.<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431:<\/p>\n<ol>\n<li>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u00a0<i>result<\/i>\u00a0\u0432 flamescope\/example\/<\/li>\n<li>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c python .\/run.py<\/li>\n<li>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0430 5000 \u043f\u043e\u0440\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430<\/li>\n<\/ol>\n<h3>\u0427\u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0432 \u0438\u0442\u043e\u0433\u0435?<\/h3>\n<p>\u0425\u043e\u0440\u043e\u0448\u0438\u0439 fio \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u00a0<a href=\"https:\/\/events.static.linuxfound.org\/sites\/events\/files\/slides\/lemoal-nvme-polling-vault-2017-final_0.pdf\">\u043f\u043e\u043b\u043b\u0438\u043d\u0433\u0435<\/a>:<\/p>\n<div><img alt=' o1zgwy-l6idzwcxniq16ndbskvo-8853641' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/o1zgwy-l6idzwcxniq16ndbskvo-8853641.png' \/><\/div>\n<p>\u0410 \u043f\u043b\u043e\u0445\u043e\u0439 fio \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u0432\u0440\u0435\u043c\u044f \u0433\u0434\u0435 \u0443\u0433\u043e\u0434\u043d\u043e, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0432 \u043f\u043e\u043b\u043b\u0438\u043d\u0433\u0435:<\/p>\n<div><img alt=' 3zerbzvtrpwznzewdteyf6bexfq-9602718' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/3zerbzvtrpwznzewdteyf6bexfq-9602718.png' \/><\/div>\n<p>\u0421 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0430 \u0441\u0442\u0430\u0440\u043e\u043c \u0445\u043e\u0441\u0442\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u043b\u043b\u0438\u043d\u0433, \u043d\u043e \u0432\u0435\u0437\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u044f\u0434\u0440\u043e 4.15 \u043e\u0434\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u043e\u043b\u043b\u0438\u043d\u0433 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043d\u0430 NVMe-\u0434\u0438\u0441\u043a\u0430\u0445. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043b\u0438 \u043f\u043e\u043b\u043b\u0438\u043d\u0433, \u043c\u043e\u0436\u043d\u043e \u0432\u00a0<b>sysfs<\/b>:<\/p>\n<pre><code class=\"bash hljs\"><span class=\"hljs-comment\"># cat \/sys\/class\/block\/nvme0n1\/queue\/io_poll<\/span>\r\n1<\/code><\/pre>\n<p>\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432\u044b\u00a0<i>preadv2<\/i>\u00a0\u0441 \u0444\u043b\u0430\u0433\u043e\u043c\u00a0<i>RWF_HIPRI<\/i>\u00a0\u2015 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u043b\u0438\u043d\u0433\u0430. \u0418, \u0435\u0441\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0444\u043b\u0435\u0439\u043c\u0433\u0440\u0430\u0444 (\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0438\u0437 \u0432\u044b\u0432\u043e\u0434\u0430\u00a0<b>perf report<\/b>), \u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438, \u043d\u043e \u043e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0435, \u0447\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u2015 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0441\u0442\u0435\u043a \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 submit_bio() \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 io_schedule(). \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0431\u043b\u0438\u0436\u0435 \u043d\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0432\u043d\u0443\u0442\u0440\u0438 submit_bio().<\/p>\n<p>\u041c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab\u0441\u0442\u0430\u0440\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438\u00bb:<\/p>\n<div><img alt=' sdbaewdxmxq2qqy7w6xwlkmpuia-3503668' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/sdbaewdxmxq2qqy7w6xwlkmpuia-3503668.png' \/><\/div>\n<p>\u0411\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u00ab\u0441\u0432\u0435\u0436\u0435\u0439\u00bb:<\/p>\n<div><img alt=' ad2_wholhggbeewyuoxvqdpuas-9949396' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/ad2_wholhggbeewyuoxvqdpuas-9949396.png' \/><\/div>\n<p>\u041f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u043d\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0434\u043e\u043b\u0433\u0438\u0439 \u043f\u0443\u0442\u044c \u0434\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u044f \u0432 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u00a0<b>kyber<\/b>. \u041e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u0445 \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u00a0<a href=\"https:\/\/blog.selectel.ru\/blk-mq-tests\/\">\u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<\/p>\n<p>\u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e\u00a0<b>kyber<\/b>\u00a0\u0431\u044b\u043b \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d, \u0442\u043e\u0442 \u0436\u0435 \u0442\u0435\u0441\u0442 fio \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043e\u043a\u043e\u043b\u043e 10 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434, \u043f\u0440\u044f\u043c\u043e \u043a\u0430\u043a \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u041e\u0442\u043b\u0438\u0447\u043d\u043e!<\/p>\n<p>\u041d\u043e \u043e\u0442\u043a\u0443\u0434\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0435\u0449\u0435 \u0432 \u043e\u0434\u043d\u0443 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u0443?<\/p>\n<h3>\u0410 \u0435\u0441\u043b\u0438 \u0447\u0443\u0442\u044c \u0433\u043b\u0443\u0431\u0436\u0435?<\/h3>\n<p>\u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e,\u00a0<b>perf<\/b>\u00a0\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u0432. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u044d\u0448-\u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043d\u0430 \u0446\u0438\u043a\u043b:<\/p>\n<pre><code class=\"bash hljs\">perf <span class=\"hljs-built_in\">stat<\/span> -e cycles,instructions,cache-references,cache-misses,bus-cycles \/root\/fio\/fio --clocksource=cpu --name=<span class=\"hljs-built_in\">test<\/span> --bs=4k --filename=\/dev\/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=10<\/code><\/pre>\n<p><img alt=' uepcfo8up5ehpvqb1ophotqjzb8-8532966' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/uepcfo8up5ehpvqb1ophotqjzb8-8532966.png' \/><\/p>\n<p><img alt=' p5lnalg0u05xtvc5792ghegtv34-1724898' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/p5lnalg0u05xtvc5792ghegtv34-1724898.png' \/><\/p>\n<p>\u0418\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043d\u0430 \u0446\u0438\u043a\u043b CPU \u0438 \u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043a\u044d\u0448-\u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438. \u0412\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440 2. \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0439<\/h2>\n<h3>\u0427\u0442\u043e-\u0442\u043e \u0438\u0434\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a<\/h3>\n<p>\u0412 \u0440\u0430\u0431\u043e\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u044b\u043b \u0437\u0430\u043c\u0435\u0447\u0435\u043d \u0440\u043e\u0441\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 CPU \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u0440\u0438 \u0440\u043e\u0441\u0442\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0425\u043e\u0441\u0442\u044b \u0440\u0430\u0432\u043d\u043e\u043f\u0440\u0430\u0432\u043d\u044b\u0435, \u0440\u0430\u0432\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0435 \u0438 \u0438\u043c\u0435\u044e\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 CPU:<\/p>\n<pre><code class=\"bash hljs\">~<span class=\"hljs-comment\"># pidstat -p 1441734 1<\/span>\r\nLinux 3.13.0-96-generic (lol)        10\/10\/2018      _x86_64_        (24 CPU)\r\n \r\n09:23:30 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command\r\n09:23:44 PM     0   1441734   23.00    1.00    0.00   24.00     4  ceph-osd\r\n09:23:45 PM     0   1441734   85.00   34.00    0.00  119.00     4  ceph-osd\r\n09:23:46 PM     0   1441734    0.00  130.00    0.00  130.00     4  ceph-osd\r\n09:23:47 PM     0   1441734  121.00    0.00    0.00  121.00     4  ceph-osd\r\n09:23:48 PM     0   1441734   28.00   82.00    0.00  110.00     4  ceph-osd\r\n09:23:49 PM     0   1441734    4.00   13.00    0.00   17.00     4  ceph-osd\r\n09:23:50 PM     0   1441734    1.00    6.00    0.00    7.00     4  ceph-osd<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0432 09:23:46 \u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u044f\u0434\u0440\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0432\u0441\u0435\u0439 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0432\u043d\u0443\u0442\u0440\u0438.<\/p>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e?<\/h3>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0441\u043d\u044f\u043b\u0438 \u0441\u044d\u043c\u043f\u043b\u044b \u0441\u043e \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b:<\/p>\n<pre><code class=\"bash hljs\">perf record -a -g -- sleep 22\r\nperf script &gt; perf.results<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f\u00a0<i>-a<\/i>\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b\u00a0<b>perf<\/b>\u00a0\u0441\u043d\u0438\u043c\u0430\u043b \u0442\u0440\u0435\u0439\u0441\u044b \u0441\u043e \u0432\u0441\u0435\u0445 CPU.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u043c\u00a0<b>perf.results<\/b>\u00a0\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438\u00a0<b>flamescope<\/b>, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 CPU.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430<\/b><\/div>\n<p>\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u00ab\u0442\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430\u00bb, \u043e\u0431\u0435 \u043e\u0441\u0438 (X \u0438 Y) \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p>\u041f\u043e \u043e\u0441\u0438 X \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0431\u0438\u0442\u043e \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b, \u0430 \u043f\u043e \u043e\u0441\u0438 Y \u2015 \u043d\u0430 \u043e\u0442\u0440\u0435\u0437\u043a\u0438 \u043f\u043e 20 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0435\u043a\u0443\u043d\u0434 X. \u0412\u0440\u0435\u043c\u044f \u0438\u0434\u0435\u0442 \u0441\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445 \u0438 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e. \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044f\u0440\u043a\u0438\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u044b \u0438\u043c\u0435\u044e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u044d\u043c\u043f\u043b\u043e\u0432. \u0422\u043e \u0435\u0441\u0442\u044c, CPU \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0430\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e.<\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u043a\u0440\u0430\u0441\u043d\u043e\u0435 \u043f\u044f\u0442\u043d\u043e \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435. \u0412\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043c\u044b\u0448\u043a\u043e\u0439, \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043e\u043d\u043e \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442:<\/p>\n<div><img alt=' gvkkkomg9vl7u1ylpwx7h8pceqc-5108708' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/gvkkkomg9vl7u1ylpwx7h8pceqc-5108708.png' \/><\/div>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u0443\u0436\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435\u00a0<i>tcp_recvmsg<\/i>\u00a0\u0438\u00a0<i>skb_copy_datagram_iovec<\/i>\u00a0\u0432 \u043d\u0435\u0439.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0441 \u0441\u044d\u043c\u043f\u043b\u0430\u043c\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u044a\u0435\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c:<\/p>\n<div><img alt=' v6_j72zqvscfolhkaipeoyx9lg8-8265360' src='https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/v6_j72zqvscfolhkaipeoyx9lg8-8265360.png' \/><\/div>\n<p>\u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0443\u0436\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0436\u0435\u043b\u0435\u0437\u0430. \u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<i>skb_copy_datagram_iovec<\/i>\u00a0\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u044f\u0434\u0440\u0430 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0445\u043e\u0441\u0442\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u0432 \u043b\u043e\u0433\u0430\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443. \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 BIOS \u0432\u0438\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0431\u0438\u0442\u043e\u0439 \u043f\u043b\u0430\u043d\u043a\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. \u0417\u0430\u043c\u0435\u043d\u0430, \u0445\u043e\u0441\u0442 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c CPU \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f.<\/p>\n<h2>\u041f\u043e\u0441\u0442\u0441\u043a\u0440\u0438\u043f\u0442\u0443\u043c<\/h2>\n<h3>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441 perf<\/h3>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u00a0<b>perf<\/b>\u00a0\u043c\u043e\u0436\u0435\u0442 \u0432\u043d\u0435\u0441\u0442\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0420\u0430\u0437\u043c\u0435\u0440 \u044d\u0442\u0438\u0445 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u043e\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u0443 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443:<\/p>\n<pre><code class=\"bash hljs\">~<span class=\"hljs-comment\"># \/root\/fio\/fio --clocksource=cpu --name=test --bs=4k --filename=\/dev\/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=1                                \t <\/span>\r\n<span class=\"hljs-built_in\">test<\/span>: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=pvsync2, iodepth=1\r\nfio-3.9-dirty\r\nStarting 1 process\r\nJobs: 1 (f=1): [r(1)][100.0%][r=413MiB\/s][r=106k IOPS][eta 00m:00s]\r\n<span class=\"hljs-built_in\">test<\/span>: (groupid=0, <span class=\"hljs-built_in\">jobs<\/span>=1): err= 0: pid=109786: Wed Dec 12 17:25:56 2018\r\n   <span class=\"hljs-built_in\">read<\/span>: IOPS=106k, BW=414MiB\/s (434MB\/s)(4096MiB\/9903msec)\r\n\tclat (nsec): min=8161, max=84768, avg=9092.68, stdev=1866.73\r\n \tlat (nsec): min=8195, max=92651, avg=9127.03, stdev=1867.13\r\n\u2026\r\n\r\n~<span class=\"hljs-comment\"># perf record \/root\/fio\/fio --clocksource=cpu --name=test --bs=4k --filename=\/dev\/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=1<\/span>\r\n<span class=\"hljs-built_in\">test<\/span>: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=pvsync2, iodepth=1\r\nfio-3.9-dirty\r\nStarting 1 process\r\nJobs: 1 (f=1): [r(1)][100.0%][r=413MiB\/s][r=106k IOPS][eta 00m:00s]\r\n<span class=\"hljs-built_in\">test<\/span>: (groupid=0, <span class=\"hljs-built_in\">jobs<\/span>=1): err= 0: pid=109839: Wed Dec 12 17:27:50 2018\r\n   <span class=\"hljs-built_in\">read<\/span>: IOPS=106k, BW=413MiB\/s (433MB\/s)(4096MiB\/9916msec)\r\n\tclat (nsec): min=8259, max=55066, avg=9102.88, stdev=1903.37\r\n \tlat (nsec): min=8293, max=55096, avg=9135.43, stdev=1904.01<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u043d\u0430, \u0432\u0441\u0435\u0433\u043e \u043e\u043a\u043e\u043b\u043e ~8 \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre><code class=\"bash hljs\">~<span class=\"hljs-comment\"># \/root\/fio\/fio --clocksource=cpu --name=test --numjobs=4 --bs=4k --filename=\/dev\/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=1<\/span>\r\n<span class=\"hljs-built_in\">test<\/span>: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=pvsync2, iodepth=1\r\n...\r\nfio-3.9-dirty\r\nStarting 4 processes\r\nJobs: 4 (f=4): [r(4)][100.0%][r=1608MiB\/s][r=412k IOPS][eta 00m:00s]\r\n\r\n~<span class=\"hljs-comment\"># perf record \/root\/fio\/fio --clocksource=cpu --name=test --numjobs=4 --bs=4k --filename=\/dev\/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=1         \t <\/span>\r\n<span class=\"hljs-built_in\">test<\/span>: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=pvsync2, iodepth=1\r\n...\r\nfio-3.9-dirty\r\nStarting 4 processes\r\nJobs: 4 (f=4): [r(4)][100.0%][r=1584MiB\/s][r=405k IOPS][eta 00m:00s]<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0443\u0436\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0437\u0430\u043c\u0435\u0442\u043d\u0430. \u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u0430\u0441\u044c \u043c\u0435\u043d\u0435\u0435 \u0447\u0435\u043c \u043d\u0430 1%, \u043d\u043e \u043f\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443 \u043f\u043e\u0442\u0435\u0440\u044f \u043e\u043a\u043e\u043b\u043e 7Kiops \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c.<\/p>\n<p>\u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439, \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u043d \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439.<\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u2015\u00a0<i>sysbench<\/i>:<\/p>\n<pre><code class=\"bash hljs\">~<span class=\"hljs-comment\"># sysbench --max-time=10 --test=cpu run --num-threads=10 --cpu-max-prime=100000<\/span>\r\n...\r\nTest execution summary:\r\n\ttotal time:                      \t10.0140s\r\n\ttotal number of events:          \t3540\r\n\ttotal time taken by event execution: 100.1248\r\n\tper-request statistics:\r\n     \tmin:                             \t28.26ms\r\n     \tavg:                             \t28.28ms\r\n     \tmax:                             \t28.53ms\r\n     \tapprox.  95 percentile:          \t28.31ms\r\n\r\nThreads fairness:\r\n\tevents (avg\/stddev):       \t354.0000\/0.00\r\n\texecution time (avg\/stddev):   10.0125\/0.00\r\n\r\n~<span class=\"hljs-comment\"># perf record sysbench --max-time=10 --test=cpu run --num-threads=10 --cpu-max-prime=100000<\/span>\r\n\u2026\r\nTest execution summary:\r\n\ttotal time:                      \t10.0284s\r\n\ttotal number of events:          \t3498\r\n\ttotal time taken by event execution: 100.2164\r\n\tper-request statistics:\r\n     \tmin:                             \t28.53ms\r\n     \tavg:                             \t28.65ms\r\n     \tmax:                             \t28.89ms\r\n     \tapprox.  95 percentile:          \t28.67ms\r\n\r\nThreads fairness:\r\n\tevents (avg\/stddev):       \t349.8000\/0.40\r\n\texecution time (avg\/stddev):   10.0216\/0.01<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430 270 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<h3>\u0412\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/h3>\n<p><b>Perf<\/b>\u00a0\u2015 \u043e\u0447\u0435\u043d\u044c \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041e\u0434\u043d\u0430\u043a\u043e, \u043a\u0430\u043a \u0438 \u0441 \u043b\u044e\u0431\u044b\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c, \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0432 \u0440\u0443\u043a\u0430\u0445 \u0438 \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043b\u044e\u0431\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u0434 \u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0445\u0443\u0436\u0435.<\/p>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438 \u043f\u043e \u0442\u0435\u043c\u0435:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.brendangregg.com\/perf.html\">\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u043e\u0434\u043d\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0441 perf<\/a><\/li>\n<li><a href=\"https:\/\/perf.wiki.kernel.org\/index.php\/Main_Page\">Perf wiki<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p><!--more--><\/p>\n<p><!--more--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0435\u043c\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0437\u043a\u0438\u0445 \u043c\u0435\u0441\u0442. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u043c\u0435\u0441\u0442 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043b\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u0432 Linux \u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0442\u0440\u0430\u0431\u043b\u0448\u0443\u0442\u0438\u043d\u0433\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0445\u043e\u0441\u0442\u0430.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.2.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/system-administrators.info\/?p=7280\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Perf \u0438 flamegraphs - \u0414\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\" \/>\n<meta property=\"og:description\" content=\"\u041e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0435\u043c\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0437\u043a\u0438\u0445 \u043c\u0435\u0441\u0442. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u043c\u0435\u0441\u0442 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043b\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u0432 Linux \u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0442\u0440\u0430\u0431\u043b\u0448\u0443\u0442\u0438\u043d\u0433\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0445\u043e\u0441\u0442\u0430.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/system-administrators.info\/?p=7280\" \/>\n<meta property=\"og:site_name\" content=\"\u0414\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-28T13:12:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-02-28T13:13:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/ypnjb3xkf3urq140p0qssevtku-8341450.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\">\n\t<meta name=\"twitter:data1\" content=\"admin\">\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\">\n\t<meta name=\"twitter:data2\" content=\"2 \u043c\u0438\u043d\u0443\u0442\u044b\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/system-administrators.info\/#website\",\"url\":\"https:\/\/system-administrators.info\/\",\"name\":\"\\u0414\\u043b\\u044f \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u043e\\u0433\\u043e \\u0430\\u0434\\u043c\\u0438\\u043d\\u0438\\u0441\\u0442\\u0440\\u0430\\u0442\\u043e\\u0440\\u0430\",\"description\":\"\\u041c\\u0430\\u0442\\u0435\\u0440\\u0438\\u0430\\u043b\\u044b \\u0434\\u043b\\u044f \\u0441\\u0438\\u0441\\u0430\\u0434\\u043c\\u0438\\u043d\\u0430\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/system-administrators.info\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/system-administrators.info\/?p=7280#primaryimage\",\"inLanguage\":\"ru-RU\",\"url\":\"https:\/\/system-administrators.info\/wp-content\/uploads\/2019\/02\/ypnjb3xkf3urq140p0qssevtku-8341450.png\",\"width\":316,\"height\":72,\"caption\":\"ypnjb3xkf3urq140p0qssevtku-8341450\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/system-administrators.info\/?p=7280#webpage\",\"url\":\"https:\/\/system-administrators.info\/?p=7280\",\"name\":\"Perf \\u0438 flamegraphs - \\u0414\\u043b\\u044f \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u043d\\u043e\\u0433\\u043e \\u0430\\u0434\\u043c\\u0438\\u043d\\u0438\\u0441\\u0442\\u0440\\u0430\\u0442\\u043e\\u0440\\u0430\",\"isPartOf\":{\"@id\":\"https:\/\/system-administrators.info\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/system-administrators.info\/?p=7280#primaryimage\"},\"datePublished\":\"2019-02-28T13:12:24+00:00\",\"dateModified\":\"2019-02-28T13:13:10+00:00\",\"author\":{\"@id\":\"https:\/\/system-administrators.info\/#\/schema\/person\/bae452d4027b66e977d3fa026a6e3e61\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/system-administrators.info\/?p=7280\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/system-administrators.info\/#\/schema\/person\/bae452d4027b66e977d3fa026a6e3e61\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/system-administrators.info\/#personlogo\",\"inLanguage\":\"ru-RU\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e41d445bf40842e97447b7da2c87f00a?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/posts\/7280"}],"collection":[{"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/system-administrators.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7280"}],"version-history":[{"count":2,"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/posts\/7280\/revisions"}],"predecessor-version":[{"id":7282,"href":"https:\/\/system-administrators.info\/index.php?rest_route=\/wp\/v2\/posts\/7280\/revisions\/7282"}],"wp:attachment":[{"href":"https:\/\/system-administrators.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/system-administrators.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/system-administrators.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}