Будни сисадмина #4. Что такое производительность процессора
Этот парень собирает процессоры и сильно преуспел:
На фото разные модели. Это было десять лет назад и тут лишь часть его тогдашней коллекции. За последующие десять лет выпустили еще больше процессоров.
На сегодняшний день все еще активно используются сотни моделей процессоров разных поколений и годов выпуска. Например, в ходу компьютеры с сокетом LGA775(2004-2011 г.), а процессоров под этот разъем выпущено более 70-ти моделей.
Для того, что бы разобраться во всем этом океане процессоров и выяснить, какой работает быстрее, а какой медленнее, нужно знать производительность процессора.
Производительность процессора это количество выполняемых им операций в единицу времени.
Но во время работы процессор выполняет разные операции, на одни нужно больше времени, на другие меньше. Плюс к этому, приходится учитывать разные т.н. «расширенные инструкции», которые позволяют выполнять некоторые специальные задачи значительно быстрее.
Все эти сложности приводят к тому, что нельзя просто взять и сказать: этот проц делает миллион операций в сек, а вон тот делает полтора миллиона. Так как неизбежно возникнет вопрос: а какие операции вы считали, а почему считали именно эти?
Поэтому для расчета ПП применяются специальные тестовые программы-бенчмарки, которые дают на процессор сбалансированную нагрузку.
Результатом тестирования бенчмарком является некоторое число, которое формально не является ПП, а лишь характеризует его. Но везде для простоты указывается, что бенчмарки определяют именно ПП. В дальнейшем под ПП я буду подразумевать результат тестирования процессора бенчмарком.
Впрочем, это все схоластика, а нас интересует практика.
Производительность процессора с точки зрения практики
Грубо говоря, ПП, определяемая через бенчмарк, это скорость работы процессора, а значит(грубо) и компьютера в целом.
Благодаря ПП, можно выстроить все модели процессора в ряд от самого медленного до самого быстрого.
Это знание дает следующее:
1. Можно определить, какой ПП на данный момент достаточно для типовых применений компьютеров- офисного, домашнего, игрового, «печатающей машинки», для работы с графикой и т.д.
2. Можно определить, какую выгоду принесет апгрейд ПК и стоит ли проводить этот апгрейд.
3. Можно определить, что у ПК есть аппаратные или программные проблемы- если он работает медленнее, чем должен, исходя из ПП.
Существует много сайтов, где можно посмотреть ПП. Лично я использую данные сайта cpubenchmark.net, их и буду приводить в статье.
Самым распространенным типом ПК по применению является т.н. «офисный» или «домашний без игр».
Это когда комп используется для того, что бы вести деловую переписку, глядеть на котиков, крутить ютуб, разговаривать через скайп, смотреть видосики, рисовать несложные фотожабы на недругов, гонять в старенькие игрушки, смотреть сериалы онлайн без регистрации и смс после работы, открыть 30 вкладок в Хроме, содержать Аваст и т.д.
По моим наблюдениям, для такого офисного или домашнего ПК сейчас хватает производительности процессора E5400 или 1597 баллов.
Я держу руку на пульсе- именно такой ПК стоит у меня дома и его мне хватает.
Вот моя личная шкала оценки ПП по применению ПК:
Конечно, со временем лимиты будут двигаться вправо. Но ближайшие 3 года синяя зона все еще будет начинаться на участках LGA775 и sAM2+.
Возможно, прямо сейчас кто-то напишет, что все неправда и E5400 нужно сдать в утиль, потому что у него даже в хроме тормозит. На это я бы ответил так: дорогой мой, если у тебя тормозит все, что ниже i3, значит компьютеры пребывают в запустении. Для начала их нужно пропылесосить, заменить вздувшиеся конденсаторы(в блоках питания тоже), наладить охлаждение мостов и сделать еще много специального.
Перейдем к упражнениям
У тёти Розы дома стоит десятилетний компьютер и дико тормозит. Тётя просит «что-то сделать». Ей надо через комп сидеть в одноклассниках, смотреть погоду и разговаривать с детьми по скайпу.
Нужно определить целесообразность замены процессора или покупки нового системного блока. Результат должен быть оптимален по соотношению цена/задачи.
Примем, что в остальном тётин ПК находится в идеальном состоянии и будет работать вечно.
Конфигурация ПК: MB Biostar A780L, CPU LE-1200.
1. Производительность LE-1200 равна 528 баллов. Текущий статус ПК- печатающая машинка, тётя объективно страдает.
2. Смотрим список процессоров, поддерживающих указанной МП,
3. Проверяем лучший из совместимых- Phenom II X4 945. ПП равна 3665 баллов. Ого, тётя будет летать!
4. Процессор стоит 35$. Половина пенсии, если тётя живет на Украине. Ищем процессор помедленнее, но дешевле.
5. Находим Athlon II X2 250. Производительность 1743 балла, цена 5$.
Покупаем за 5$ процессор Athlon II X2 250 и ставим в комп, теперь из статуса печатающей машинки он превратился в обычный домашний ПК. Тётя Роза счастлива.
Вы сисадмин на предприятии, в зоне вашей ответственности 150 ПК. Или 300. Или 1000, не важно. За этими компьютерами работают разные специалисты: клерки, бухгалтеры, начальники среднего звена, конструкторы, менеджеры и т.д. Отовсюду слышны стоны, они уже докатились до руководства.
Нужно определить, какие ПК имеет смысл апгрейдить, а какие уже невозможно модернизировать. Бюджет ограничен и хитрожопое «надо всё выкинуть и купить новое» не проканает.
Если сисадмин ведет учет компьютерной техники, как я рекомендовал в прошлых беседах, то не будет проблем быстро отсортировать все ПК по трем категориям:
-ПК актуален, апгрейд не нужен
-ПК устарел, апгрейд целесообразен
-ПК устарел, апгрейд не имеет смысла
Это если вы не считаете вслед за @PSA1974, что
Помни ты не завхоз и не бухгалтер.
Тогда могут возникнуть трудности, да.
Пожалуй, в следующий раз я напишу спин-офф под названием «Я вам не завхоз».
Краткая аннотация: сисадмин Тяпкин главный по компьютерам. Его вызывает зам. Носорогов и просит подготовить служебную записку о состоянии компьютерного парка и расходах на его модернизацию. Тяпкин не ведет учет техники, ее состав представляет крайне смутно. Сможет ли Тяпкин отстоять святое право не быть компьютерным завхозом или его таки одолеет административный ресурс зама Носорогова? Производственная драма, захватывающий сюжет, головокружительная интрига.
Лига Сисадминов
670 постов 12.6K подписчика
Правила сообщества
— # mount /dev/good_story /sysodmins_league
— # mount /dev/photo_it /sysodmins_league
— # mount /dev/best_practice /sysodmins_league
— # mount /dev/tutorial /sysodmins_league
на удивление адекватный пост после довольно странных предыдущих.
Однако, замечу что определять производительность компьютера ТОЛЬКО исходя из бенчмарка цпу не очень корректно. Возможно, у тебя i7 топчик, но всё тупит и дизайнер с фотошопом/конструктор с автокадом стонет, несмотря на заоблачные баллы. Ещё бы, ведь каким-то чудом у него в компе оказался IDE диск и памяти всего 4 гига одной планкой.
Для начала их нужно пропылесосить, заменить вздувшиеся конденсаторы(в блоках питания тоже), наладить охлаждение мостов и сделать еще много специального.
-ПК актуален, апгрейд не нужен
-ПК устарел, апгрейд целесообразен
-ПК устарел, апгрейд не имеет смысла
раз уж сказал, что в штате люди с различным профилем и требованием к технике, то должна быть категория
— ПК не актуален для своего типа задач.
например прогеры, инженеры с когда-то мощными машинами могут их отдать под офисные компы, а получить что-то с адекватной производительностью
Вы сисадмин на предприятии, в зоне вашей ответственности 150 ПК. Или 300. Или 1000, не важно. За этими компьютерами работают разные специалисты: клерки, бухгалтеры, начальники среднего звена, конструкторы, менеджеры и т.д. Отовсюду слышны стоны, они уже докатились до руководства.
это пост не админа, а зануды и сборщика. хорошо, стоит крутой проц, но пара гиг оперативки и дохлый винт, который win95 помнит, и чего? а ничего, попиарили процы и в кусты? а дособирать комп не пробовал, заумник?
атлон x2 250. 30 вкладок в хроме
я хочу на это посмотреть.
феном 2. даже если не брать в расчет цену, то тдп 95 ватт. а какой там бп и охлда? возможно там линворлд на 300 ватт и простенький карлсон.
не ТС, имхо несколько однобок и слишком оптимистичен к старому железу.
Например, берём 2 шт. Xeon E5-2683 v3.
И вот он вопрос: как и какую мат. плату следует выбрать чтобы память не стала узким местом?
В прошлом году поменял соре2 Дуо 2.4 на сокете 775. Скажу так:
— фильмы в кодеке матроска(кароче почти любые фильмы где файл больше 4гб) смотреть невозможно
— лига легенд (lol) идёт в 30fps, во время битвы фпс уже 15 и фризы по секунде(видеокарта 9800 чего-то там, 1гб памяти)
— стоял вин7, загружался примерно минуту
Комп 2008 года был.
Технологии далеко ушли вперёд. Вместо Биоса уефи, вин10 грузится 7секунд с ссд. Фотки одно удовольствие обрабатывать
Мой рабочий комп выдал 1139 попугаев (
Разгона нет и не будет.
А где на этой шкале Pentium G4560?
У родителей стоял phenom x3, разблоченный в x4 и даже с ssd довольно сильно тупил в браузере, в офисных задачах и тд. С заменой на ryzen 2200g все пришло в норму и все открывается меньше 2-3 секунд.
Про пыль и вздувшиеся конденсаторы можете не рассказывать, скорее всего компьютер просто не запустится, если они будут причиной. (или вывалится в троттлинг)
Была забавная проблема, мосфеты нагревались при нагрузке до 90 градусов и процессор уходил в троттлинг, увы но тут помогла только замена материнки на более продвинутую.
Еще немного забавно, что тс всем советует радиаторы на мосты и чипсеты, хотя я перегрева уже лет 10 ни у кого не видел. Греется процессор, ssd на дешевом контроллере и видеокарты. Но мосты? Может в прошлом так и было
Тяпкин должен будет просто сесть и внятно в объеме половины листа обосновать Носорогову, почему автоматизация данного процесса позволит получить такую информацию быстро, точно и оперативно.
Чем дороже тем пизже
Ответ на пост «Сила Пикабу, помоги, очень нужна работа»
Попытался помочь человеку с работой и вот что из этого вышло:
написал человеку на почту и попросил резюме
первое сообщение было в 0.20 с запросом резюме
ответ пришёл почти в полдень, а именно 11.48
В ответе содержалось резюме в txt файле. Ну ладно человек торопился или не имел возможности прислать нормальное резюме. Попросил человека зайти на hh.ru перебить туда резюме и скачать его как pdf, чтобы его можно было закинуть в хантфлоу для трекинга вакансии.
По факту содержимого резюме кандидат действительно оказался мне крайне интересным, т.к. компания, где я работаю, занимается разработкой софта в области ИБ и мы как раз ищем инженера в отдел сопровождения и сервиса, а также есть вакансия в отдел разработки на роль владельца продукта/архитектора SIEM.
Кадры подхватили человека в 16.11 1 декабря и уже в 17.17 человеку было отправлено приглашение на собеседование в Teams (ниже оно выглядит так, но на турецком, а человеку ушло на русском) на 02.12 в 11.00.
2 декабря в 11.00 выясняется, что у кандидата на домашнем компе стоит Линукс и он не может подключиться из-за этого (хотя есть браузерная версия и версия на линукс), а вот что было дальше (беседа с руководителем)
Кандидат захотел проводить собеседование в вотсапе, ну пофиг согласовали собеседование на 03.12 в 11.00.
Сегодня наконец-то состоялось собеседование и вот его результаты (меня там не было):
1. человек вообще не знает куда и на какую позицию проходит собеседование, хотя ему направлялась информация о вакансии и компании
2. все кто его собеседовал отметили его крайнюю упёртость и медлительность
3. были обнаружены недостающие навыки, которые были нам необходимы и никто не услышал желания эти навыки приобрести
Исходя из общей картины и его комментариях в оригинальном посте, складывается следующая картина:
1. человек не читает письма (не прочитал описание вакансии и не ознакомился с компанией)
2. человек не готовится к собеседованиям (иначе бы не случилась накладка с Тимсом, он сам предлагает варианты подключения в случае отсутствия клиента на компьютере)
3. он не зарегистрирован ни на одной из площадок по поиску работ и как следствие не откликается на вакансии и не виден для HRов (это просто бомба)
4. он не горит желанием изучать даже предложенные вакансии (зачем тогда писал пост?)
5. на собеседование не проявил никакого интереса к предлагаемой вакансии (зачем тогда писал пост? #2)
Отсюда складывается следующий вывод: человек ждёт пока желанная вакансия сама упадёт к нему в руки, и он не хочет ничего делать для поиска новой работы. Может ему и не нужна работа вовсе с таким подходом?
П.С. я не любитель писать публично, но у меня подгорело от такого поведения отсюда и этот пост.
Эволюция it-ёлок
Секрет сисадмина
Ответ на пост «ИТ на пол ставки. Или Ответ на пост»
Напомнило. В середине 90х поддерживал технику одной конторы. Сервер один, это важно, на дублирование денег нет. Он же файлопомойка, почта (олдфаги помнят Lotus cc:Mail?), общее на весь балаган печатающее устройство, ну и модем для связи с внешним миром. В те дремучие времена динозавры бегали по лужам и сервер работал под виндой NT 4.0. Это тоже важно, потому что каждое мелкое обновление требовало перезагрузки винды, прежде чем можно установить следующее. Программы, позволяющие установить несколько обновлении скопом, появятся годом позже.
Скачал для очередного цикла обновления клепок мелкомягких штук 10-15, а то и больше. Договорился с одной из девчонок задержаться после работы на полчаса-час и появился при всем параде где-то к пяти вечера. Вот тут секретарь-телефонистка-девочка на побегушках выставила мне претензии чего я так поздно пришел и потребовала прийти на следущий день пораньше. Пытался достучаться до разума, объяснять свое нежелание мешать людям работать, но шило в попе было, а мозгами не изуродована. Побежала жаловаться управляющему. Тот в запаре, не разобравшись, потребовал в ультимативной форме прийти «завтра в десять!» Попытки объяснить тоже не увенчались успехом, дура сразу начинала визжать, а управляющему этот визг выключил мозги. Ну, хозяин-барин, завтра так завтра.
Утром подхожу к каждому и объясняю, что сервера не будет, почты не будет, печатать не удастся. Могут править документы у себя, но сохранить удастся только по окончанию профилактики. Курильщики переоценили мои силы и быстродействие сервера, подумавши, что это дело на одну-двух сигарет. Прошел час, всех уже поджимают какие-то сроки, в том числе выставленные тем же управляющим. Все обвинения перенаправляю в сторону девочки на побегушках, а ближе к обеду весь коллектив уже пошел челом бить к управляющему. Тот вышел из кабинета, ознакомился с ситуацией, вчерашнее свое требование отменил и попросил вернуться к вечеру. Итальянская забастовка помогла, стали прислушиваться более внимательно к советам что для них лучше.
Вы неверно измеряете загрузку процессора
Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.
Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:
А на самом деле это выглядит вот так:
«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.
Что это означает для вас? Понимание того, какое количество времени процессор действительно выполняет некоторые операции, а какое — лишь ожидает данные, иногда даёт возможность изменить ваш код, уменьшив обмен данных с оперативной памятью. Это особенно актуально в нынешних реалиях облачных платформ, где политики автоматического масштабирования иногда напрямую завязаны на загрузку CPU, а значит каждый лишний такт «холостой» работы стоит нам вполне реальных денег.
Что же такое загрузка процессора на самом деле?
Та метрика, которую мы называем «загрузкой процессора» на самом деле означает нечто вроде «время не-простоя»: то есть это то количество времени, которое процессор провёл во всех потоках кроме специального «Idle»-потока. Ядро вашей операционной системы (какой бы она ни была) измеряет это количество времени при переключениях контекста между потоками исполнения. Если произошло переключение потока выполнения команд на не-idle поток, который проработал 100 милисекунд, то ядро операционки считает это время, как время, потраченное CPU на выполнение реальной работы в данном потоке.
Эта метрика впервые появилась в таком виде одновременно с появлением операционных систем с разделением времени. Руководство программиста для компьютера в лунном модуле корабля «Апполон» (передовая на тот момент система с разделением времени) называла свой idle-поток специальным именем «DUMMY JOB» и инженеры сравнивали количество команд, выполняемых этим потоком с количеством команд, выполняемых рабочими потоками — это давало им понимание загрузки процессора.
Так что в этом подходе плохого?
Сегодня процессоры стали значительно быстрее, чем оперативная память, а ожидание данных стало занимать львиную долю того времени, которое мы привыкли называть «временем работы CPU». Когда вы видите высокий процент использования CPU в выводе команды top, то можете решить, что узким местом является процессор (железка на материнской плате под радиатором и кулером), хотя на самом деле это будет совсем другое устройство — банки оперативной памяти.
Ситуация даже ухудшается со временем. Долгое время производителям процессоров удавалось наращивать скорость их ядер быстрее, чем производители памяти увеличивали скорость доступа к ней и уменьшали задержки. Где-то в 2005-ом году на рынке появились процессоры с частотой 3 Гц и производители сконцентрировались на увеличении количества ядер, гипертрейдинге, много-сокетных конфигурациях — и всё это поставило ещё большие требования по скорости обмена данных! Производители процессоров попробовали как-то решить проблему увеличением размера процессорных кэшей, более быстрыми шинами и т.д. Это, конечно, немного помогло, но не переломило ситуацию кардинально. Мы уже ждём память большую часть времени «загрузки процессора» и ситуация лишь ухудшается.
Как же понять, чем на самом деле занят процессор
Используя аппаратные счетчики производительности. В Linux они могут быть прочитаны с помощью perf и других аналогичных инструментов. Вот, например, замер производительности всей системы в течении 10 секунд:
Ключевая метрика здесь это «количество инструкций за такт» (insns per cycle: IPC), которое показывает, сколько инструкций в среднем выполнил процессор на каждый свой такт. Упрощённо: чем больше это число, тем лучше. В примере выше это число равно 0.78, что, на первый взгляд кажется не таким уж плохим результатом (78% времени выполнялась полезная работа?). Но нет, на этом процессоре максимально возможным значением IPC могло бы быть 4.0 (это связано со способом получения и выполнения инструкций современными процессорами). То есть наше значение IPC (равное 0.78) составляет всего 19.5% от максимально возможной скорости выполнения инструкций. А в процессорах Intel начиная со Skylake максимальное значение IPC уже равно 5.0.
В облаках
Когда вы работаете в виртуальном окружении, то можете и не иметь доступа к реальным счетчикам производительности (это зависит от используемого гипервизора и его настроек). Вот статья о том, как это работает в Amazon EC2.
Интерпретация данных и реагирование
Если у вас IPC 1.0, то ваше приложение страдает не столько от ожидания данных, сколько от чрезмерного количества выполняемых инструкций. Ищите более эффективные алгоритмы, не делайте ненужной работы, кэшируйте результаты повторяемых операций. Применение инструментов построения и анализа Flame Graphs может быть отличным способом разобраться в ситуации. С аппаратной точки зрения вы можете использовать более быстрые процессоры и увеличить количество ядер.
Как вы видите, я провёл черту по значению IPC равному 1.0. Откуда я взял это число? Я рассчитал его для своей платформы, а вы, если не доверяете моей оценке, можете рассчитать его для своей. Для этого напишите два приложения: одно должно загружать процессор на 100% потоком выполнения инструкций (без активного обращения к большим блокам оперативной памяти), а второе должно наоборот активно манипулировать данным в ОЗУ, избегая тяжелых вычислений. Замерьте IPC для каждого из них и возьмите среднее. Это и будет примерная переломная точка для вашей архитектуры.
Что инструменты мониторинга производительности на самом деле должны показывать
Я считаю, что каждый инструмент мониторинга производительности должен показывать значение IPC рядом с загрузкой процессора. Это сделано, например, в инструменте tiptop под Linux:
Другие причины неверной трактовки термина «загрузка процессора»
Процессор может выполнять свою работу медленнее не только из-за потерь времени на ожидание данных из ОЗУ. Другими факторами могут быть:
CPU speed
Смотреть что такое «CPU speed» в других словарях:
CPU card — A CPU card is a computer board that contains the central processing unit (CPU) of a computer. CPU cards are specified by CPU speed and bus type as well as other features and applications built in to the card. CPU cards include peripheral… … Wikipedia
speed — The rate at which an MBS prepays. An MBS with little or no prepayments is said to have a slow speed. An MBS with significant prepayments is said to have a high speed or to be speeding. Since pools that prepay faster than anticipated can perform… … Financial and business terms
Speed — Related:prepayment speed * * * speed UK US /spiːd/ noun ► [C or U] IT, INTERNET the rate at which a computer or an internet connection operates and provides information: »Increase the speed of your computer with our new software. »How do I verify … Financial and business terms
CPU design — is the design engineering task of creating a central processing unit (CPU), a component of computer hardware. It is a subfield of electronics engineering and computer engineering. Contents 1 Overview 2 Goals 3 Performance analysis and… … Wikipedia
CPU locking — is the process of permanently setting a CPU s clock multiplier. AMD CPUs are unlocked in early editions of a model and locked in later editions, but nearly all Intel CPUs are locked and recent models are very resistant to unlocking to prevent… … Wikipedia
Speed-demons — Speed demon is a term which sometimes has been used to denote a CPU design which favors high clock speed over high instructions per clock (IPC), particularly regarding modern CISC processors for personal computers. Speed demon designs typically… … Wikipedia
CPU-Z — 1.55 with overclocked processor under Windows 7 beta Developer(s) CPUID Stable release 1.58 / June 24, 2011; 4 months ago … Wikipedia
Speed Demon — may refer to:*Speed Demon (Marvel Comics) *Speed Demon (Amalgam Comics) * Speed Demon (song), by Michael Jackson * speed demons style of CPU design … Wikipedia
Speed Demons — Разработчик EMG Издатель Microïds Дата выпуска 1999 Жанр Аркадные гонки … Википедия
CPU cache — Cache memory redirects here. For the general use, see cache. A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the… … Wikipedia
CPU power dissipation — Central processing unit power dissipation or CPU power dissipation is the process in which central processing units (CPUs) consume electrical energy, and dissipate this energy both by the action of the switching devices contained in the CPU (such … Wikipedia













