Как стать автором
Обновить

Комментарии 135

Какой конфигурации комп?
Ноутбук asus x59sl: c2d T5750, 2gb ram, ati hd3470
А правда, что от всего, кроме upstart, результат зависит слабо?
От ext4 ещё хороший прирост, с аптбуйлда правда не большой(
Практически да
Компиляция с оптимизацией под конкретный процессор может дать ощутимый прирост производительности только на специфических задачах.
В «домашних» условиях этот прирост не превышает 5% (проверено на себе).
Поэтому, по моему мнению, надо оптимизировать загрузочные скрипты (поставить upstart как вариант), использовать файловые системы, соответствующие решаемым задачам, ну и конечно не на последнем месте качество используемого софта.
Какой результат получился с кде4?
Работает шустрее, чем из стандартной поставки, но компилилось и качалось (канал всего 128) почти всю ночь
с оптимизациями ядра acer aspire one под debian lanny @2.6.28.2 грузится за ~30с с XFCE
s/lanny/lenny, криворукий >_<
Дефолтный Линпус грузится быстрее вроде?
Чисто ядро без иксов? Ага. За пару секунд.
подтверждаю, с отключением лишних процессов линпус за 17-19 секунд грузится, емнип, измерялось всё тем же bootchart.
Дефолтный линпус грузится быстрее! Exelens прав. Только на линпусе не хочется работать :)
в ходе оптимизации выходит клакварь уже )
НЛО прилетело и опубликовало эту надпись здесь
можно сделать быстрее. а может и не получиться. всё зависит от того, что у вас за процессор и насколько вы владеете ключами в emerge.

для атлона ХР — наборы инструкций апт билда на глаз шустрее чем эмерджа. Но ключами я не пользовался ни там, ни там.

Для атомов — апт билд почти бесполезен.

Ну и в таком духе… в общем технология очень и очень интересная, но не востребованная и посему мало улучшаемая.
НЛО прилетело и опубликовало эту надпись здесь
Можно подробнее почему для атомов апт-билд бесполезен?

P.S. Обычно использую FreeBSD (правда на серверах) — все собирается из портов из исходных кодов и оптимизация под архитектуру процессора обычно стоит потраченого времени.
И какую же оптимизацию под архитектуру Вы конкретно используете, компилируя исходники под FreeBSD? Вроде выбор небольшой: i386 и amd64 (что по сути — одного поля ягоды, что только второй поддерживает 64-битные инструкции). Остальные можно не рассматривать в силу их экзотичности.
1. Извините, но без тестов на скорость «до» и «после» ваши советы мало что стоят.
2. Коренными бывают зубы, а раздел — корневым.
Результат bootchart в самом начале статьи, что можно ещё что-нибудь измерить?
Хотелось бы увидеть изменения после каждого шага оптмизации. Спешу предположить, что добиться того же результата можно было бы одним переходом на upstart.
НЛО прилетело и опубликовало эту надпись здесь
+1
Полностью согласен. Хочется собирать софт и вытачивать систему, Gentoo отличный выбор. Если не хочется собирать софт, но все таки знаешь, что тебе нужно, Debian отличный выбор. А вот ставить Debian и пересобриать его руками, по моему это что-то не то :)
У меня на ~8-10 секунд ускорило добавление в /boot/grub/menu.lst в параметр к ядру concurrency=startpar, т.е. в результате строка должна выглядеть примерно так:

/boot/vmlinuz-2.6.27-custom root=/dev/sda2 ro quiet concurrency=startpar

это без upstart.

Ещё с некоторыми мелкими оптимизациями, отключением ненужных процессов через утилу rcconf, система на c2d e8400 грузится 18 секунд, замерялось через bootchart, кстати замечательная программка.
НЛО прилетело и опубликовало эту надпись здесь
стартовые скрипты с одинаковым уровнем выполнения будут загружаются параллельно
а где вы видели стартовые скрипты с одинаковым уровнем выполнения?..
упс. извиняюсь. не о том подумал
Вы имели ввиду runlevel? но там есть опасность не корректного запуска зависимых скриптов. -тотже банальный LAMP не очень корректно запускать не по порядку
А можно поинтересоваться — какая разница апачу, будет ли запущен мускуль до него, после или одновременно?
Ему разницы нет — но на боевом сервере например запуск апача до старта мускуля иногда приводит к сильному проседанию первого из за потока запросов от клиентов на которым он (точнее не он естественно а скрипты сайта) выдает ошибки соединения с БД — но пред эти мужительно пытаясь достучаться до мускуля. — Количество апачей может подскочить до максимального за буквально 1 секунду. И на разгребание запросов при большой нагрузке может уйти до 15-30 минут.
В общем ИМХО не корректно не по порядку запускать зависящие друг от друга вещи.
сорри, не уловил как-то, что речь о production идет. хотя, если говорить про серьезный продакшн (а вы вроде его описываете, судя по вашим словам о нагрузках) — то держать веб и БД на одной машине суть неправильно. что с точки зрения безопасности, что производительности.
Имелось ввиду число после «S» в папках вида /etc/rc2.d. Например, у меня есть такие:
S20postgres
S20nginx
S25pulseaudio

Это значит, что 20-е будут загружаться одновременно, а 25-ый после них
Тогда я понял правильно, но мне казалось что таких случаев быть не должно. И у меня например ни на одном дистрибутиве это не попадалось. Так что вряд ли это даст большой прирост скорости ИМХО
НЛО прилетело и опубликовало эту надпись здесь
хм, немного позже попробую concurrency=shell и отпишу о результатах
Такое чувство что вы занимаетесь только тем что перезагружаете систему. )
P.S. Ubuntu 8.04 из Hibernate на моем ноутбуке поднимается меньше чем за 10 секунд.
НЛО прилетело и опубликовало эту надпись здесь
Странная разница — в десятки раз, хотя размер оперативы отличается всего в 2 раза.
А можно узнать вашу комплектацию, у вас двухядерник? сколько памяти?
У меня ACER 5315, Сел. 1,7 Ггц 533 шина, 1 Гб ОЗУ, 80ка винт — на диске 2 раздела: корневой и подкачка — 8.10 выходит из Hibernate столько же времени, сколько бы ушло на загрузку, единственное преимущество — сохранение рабочего окружения. Засыпает также долго как и выключатеся.
Win не ставил, но думаю она просыпалась бы раза в 2 быстрее.
Но доволен и этим, так как еще пару лет назад Hibernate запускался только после бубна.
Dell Vostro 1400:
Core2Duo T7250 (2Ghz), 2GB RAM, 160 GB 5200 RPM hdd
Ubuntu 8.04 x86-64.
К слову сказать на 32-битной версии выходил из сна медленнее.
Кхм, «из _Hibernate_ на моем ноутбуке поднимается меньше чем за 10 секунд», «на 32-битной версии выходил из _сна_ медленнее», таки определитесь о чём вы, ага?
НЛО прилетело и опубликовало эту надпись здесь
Так всё и так в пакетиках. Автор зачем-то качает src-пакеты, и заново собирает из них бинарные, которые затем и ставятся на систему.
как слегка усталый гентушник спрошу — вы стали счастливее?
Да =)
apt-build не нужен.

Хотите из сорцов? Ставьте Gentoo :) Там есть куда более мощные, логичные и простые инструменты оптимизации под железо, ака use-флаги, гибкое указание CFLAGS и т.д.

*Гентушник*
НЛО прилетело и опубликовало эту надпись здесь
Еще стоит отметить, что upstart в Debian до сих пор есть только в experimental репозитории, а использование apt-build даёт практически нулевой прирост производительности, в силу того, что процесс сборки абсолютно идентичен сборке пакета на билд-серверах дебиана под соответствующую архитектуру. При этом вы: тратите кучу времени на сборку каждого пакета, захламляете свою систему абсолютно ненужными вам -dev-пакетами и пакетами исходников устанавливаемых программ.
Вот и получается, что смысл в руководстве имеют два пункта:
— обновление ядра для перехода на ext4 — что с точки зрения Debian неверно в силу возможной нестабильности;
— установка пакета upstart из experimental — что неверно в силу тех же причин.
Как уже верно сказали, для экспериментов с самым новым софтом есть gentoo и иже с ним. Или ставьте Ubuntu, там upstart уже установлен по умолчанию.
>что с точки зрения Debian неверно в силу возможной нестабильности

Я пользуюсь sid, Для меня нестабильность не страшна =)
Я тоже пользуюсь sid. sid — очень стабилен, в sid в Debian попадает то, что в других дистрибутивах считается stable. А вот в experimental попадает что попало. И обновляться до experimental крайне не рекомендуется вообще.
The experimental distribution is a special distribution. It is not a full distribution in the same sense as stable, testing and unstable are. Instead, it is meant to be a temporary staging area for highly experimental software where there's a good chance that the software could break your system, or software that's just too unstable even for the unstable distribution (but there is a reason to package it nevertheless). Users who download and install packages from experimental are expected to have been duly warned. In short, all bets are off for the experimental distribution.
— Справочник разработчика Debian.
Никто не требует dist-upgrade до experimental, просто его подключаешь и в /etc/apt/preferences:
Package: *
Pin: release a=experimental
Pin-Priority: 101

И установленный из experimental пакеты будут обновлятся из него, адругие не будут.
А вы вот это хоть где-нибудь указали? И потом, в Debian даже upstart, я уверен, неспроста лежит в experimental. С учётом того, что Debian, насколько я знаю, давно собираются на него переводить, это довольно веский повод задуматься.
а как же КДЕ 4.2? :)
Кто-то говорит про стабильность КДЕ 4.2? В каком месте он стабилен, простите? То одно отвалится, то другое, то трей не реботает, то плазмоиды, то еще что.
где? все работает, как часы. трей работает, плазмоиды отвалились только те, что были ручной сборки. пару багов наблюдал с крэшем плазмы, но подобные падения и в 3.5.10 есть — а он в stable живет
Вот 3.5.10 у меня сколько лет стоял — падений не было. А с 4-ми кедами мне самому возиться уже совершенно не хочется. Зато сейчас ежедневно вижу толпу разработчиков, любителей кед, которые всё обсуждают, что в 4.2 отвалилось на этот раз, что они наконец исправили, и какие там тормоза и зверское падение FPS в зависимости от видеокарты.
Если всё правильно ставить, то всё работает, у меня собранный apt-build'ом с оптимизацией kde4.2 работает отлично =)
НЛО прилетело и опубликовало эту надпись здесь
>В ходе оптимизации система будет переведена на ext4, будет новое ядро и пакеты будут
>собираться из исходных текстов, а так же init заменён на upstart

В ходе оптимизации мы из Debian Stable сделаем Debian Sid…
experimental, сидом там даже не пахнет :)
НЛО прилетело и опубликовало эту надпись здесь
Мне больше хочется понять, зачем отдельный /boot на ext2 на десктопе? )
Чтобы grub смог запуститься и стартовать ядро. Модуля ext4 для него, я так понимаю, в стандартной поставке по крайней мере нету.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Чтобы как минимум ядро всегда имело возможность загрузиться, независимо от того, что вы сделаете с корнем. Поэтому /boot должен быть ext2 — т.к. это самая маленькая и простая ФС для такого раздела, и поэтому же он не должен монтироваться по умолчанию, либо должен монтироваться в RO.
Чтобы как минимум ядро всегда имело возможность загрузиться, независимо от того, что вы сделаете с корнем. Поэтому /boot должен быть ext2 — т.к. это самая маленькая и простая ФС для такого раздела, и поэтому же он не должен монтироваться по умолчанию, либо должен монтироваться в RO.
А что оптимизировали-то? Скорость загрузки операционки?
S3/S4 ваши друзья. А всякие оптимизации загрузочных скриптов идут лесом. Полученый за много лет экстракт истины ^_^
А вообще, время запуска операционки не сильно важно.
А что есть S3/S4?
suspend to ram & to disc & to file и прочая гибернация
Напишите лучше кто-нибудь статью по тюнингу linux под высокие нагрузки и трафик при работе в качестве веб-сервера ;)
это как бе слишком абстрактно, да и в инете дофига всего по различным подсистемам
А по-моему это наоборот очень даже конкретно и предметно.
Хотелось бы увидеть аналог статьи Сысоева по оптимизации FreeBSD только для линуха ;)
У меня возникто два вопроса:

1. А что вы всё меряете, сколько времени проходит загрузка машины? Какая разница, подождёте ли Вы на 20 секунд дольше раз в день?
Я вот вообще свои машины не выключаю. Максимум — hibernate.

2. Вот разработчик пакетов компилит их сам за вас обычно. Правда пакеты федоры, например, скомпилены под i386, в то время, как у меня i686 (обещали к следующей версии перекомпилить их под i586). Но ведь у остальных с этим по лучше обстоит.
Так вот скажите, много ли прироста производительности даёт перекомпиляция исходников под конкретный процессор. А если это Celeron? А Code2Dou/Xeon?
Многие говорят, что сборка всего из исходников добавляет очень много геморроя. Так ли это? Верно ли это для src-пакетов?

Просто хочу для себя раз и на всегда определиться, использовать прекомпилированные пакеты или нет.
Я чуть выше обрисовал ситуацию по поводу геморроя — загромождение системы dev-пакетами, которые потребуются для сборки, а также куча времени, которое уйдёт на сборку всего на свете, особенно чего-нибудь тяжелого, типа QT, KDE, PHP, Apache…
Плюс к этому вы получаете: благодаря установке upstart вы обновляете свой дистрибутив со stable/testing/unstable до experimental. Автор статьи предлагает на этом месте зафиксировать все пакеты — то есть никакие обновления, в том числе и исправления багов накатываться не будут. Если пакеты не фиксировать — замечательно, при каждом обновлении вы начинаете заниматься сборкой всех обновляемых пакетов — ещё уйма времени.
Теперь по поводу производительности. В Debian нет такой архитектуры, как i486, i586 или i686. Соответственно, все программы собираются либо под базовую архитектуру i386, без учёта доступных расширений, либо под amd64/sparc/etc. Частично вы эту проблему решите при пересборке ядра — когда по совету автора выберете ваш тип процессора. Это добавит небольшую оптимизацию. Но вся хитрая фишка в том, что вся остальная-то система Debian нацелена именно на i386. И все собираемые пакеты будут собираться именно под i386. То есть — без какой-либо разницы с тем, что собирается на билд-машинах.
Я спрашивал не в контексте конкретного дистрибутива, а вообще в контексте линукс.

И мой вопрос сводится к следующему: если вся система — и ядро и пакеты — скомпилирована с оптимизацией под конкретный процессор, сколько это даст прироста производительности?
И сколько добавит геморроя (не времени сборки, не загромождения пакетами, а именно ручной работы)?
даст. но не более 5%. тесты gento vs fedora/ubuntu легко гугляцо.

геморроя добавляют.
И нередко позволяют сэкономить пару-другую сотен МБ, избавившись от лишних зависимостей. А иногда и повысить производительность с помощью, например, USE="-dbus -hal".
время потраченное на сборку я считаю дороже пары сотен МБ.

Производительность? Господи, -dbus -hal — дадут сущие копейки.
Зато когда вы вставите флешку и начнете открывать консоль дабы набить mount…

У меня правда-правда хватает работы которую нужно сделать на этом компе. Я хочу ее сделать и пойти отдыхать. ИМХО охота заниматься сборкой и прочими «оптимизациями» только студентам-красноглазам.
Ага, а спортивные штаны носят только гопники. ;)
попробуйте мне логически объяснить условия, в которых действительно потребуется ребилд всей системы
При чём тут ребилд всей системы? Никогда этого не делал.

/me гентушник

> время потраченное на сборку я считаю дороже пары сотен МБ.
Знания и умения я считаю дороже нескольких дней, потраченных на их приобретение. :P
а мне например не влом подождать на 10-20 секунд больше, тем более когда я прихожу домой, я нажимаю кнопочку на компе и иду переодеваться, а переодеваюсь я дольше чем 30 секунд, так что это комп меня еще ждет =)
Для оптимизации загрузки только upstart, остальное для увеличения скорости работы.
и сильно от пересобранного ядра у меня скорость работы FF вырастет?
Так рекомендуется же еще и весь софт apt-build'ом пересобрать :)
Если влом собирать, то можно поставить swiftfox. Скорость работы FF вырастет.
Извините, что не в тему, но не подскажете ли хороший современный дистрибутив Linux (для десктопа, не сервера) под старое железо, но с GUI? Celeron 2400, 256 RAM, интегрированное видео.
Или набор деталек, из которых можно такую ОС собрать, чтобы летала :)
Собрать — Gentoo :) Собирать будете долго. Заточить можно практически любой.
Набор деталек? Gentoo либо LFS. ;)
чем вам .rpm/.deb не набор деталек?

на самом деле в реальных приложениях гентушники так и не показали прирост более чем на 5% в производительности. А время на сборку/заточку оказалось куда больше прироста :]
Debian :)
Железо вполне работоспособное, только памяти маловато. Debian и ставим только то, что нужно.
Use ArchLinux, Luke
этож для студентов только у которых времени на заточку и допиливание дофига
Всё работает «искаропки», на всякий случай — мощное коммьюнити
это вы TU рассказывать будете?
Всем спасибо, долго допиливать желания нет, поэтому остановлюсь на Debian :)
НЛО прилетело и опубликовало эту надпись здесь
А я то надеялся…
eINIT быстрее. Правда пока его настроишь не один час уйдёт и окажется, что конфиги ещё не для всех служб написали. И вообще он в бете. :) Но он быстрее, чем upstart.
Для минималистичных систем, не содержащих экзотических служб самое то. Sys V Init грузил систему за 46с. eINIT — за 24с. Сейчас стандартный гентушный OpenRC — 32с. upstart ЕМНИП примерно соответствует OpenRC по принципу действия и скорости.
1. для быстрой загрузки кроме апстарта ничего не нужно вообще.

2. на самом деле на нужен даже апстарт, ибо проще всего класть в гибернацию/суспенд а не выключать.

3. Персборка ядра дающая мизерный прирост и кучу геморроя с обновлениями/модулями/etc — абсолютно непонятна.
Пересборка ядра для ext4, что бы точно не было проблем с модулями нужно подключить репозиторий sidux'а, для этого в /etc/apt/sources.list:
deb debian.tu-bs.de/project/sidux/debian/ sid main contrib non-free fix.main fix.contrib fix.non-free
deb-src debian.tu-bs.de/project/sidux/debian/ sid main contrib non-free fix.main fix.contrib fix.non-free
Меня сейчас закидают мышками, но я выскажусь по этому поводу.
Раньше, когда у меня был Sony VAIO, стояла ОС Ubuntu, саспенд даже не пробовал делать, выключал полностью.
Когда пересел на MacBook — я просто закрываю крышку ноута и он засыпает, открываю крышку и за 2 сек получаю свою систему в том же виде, что до закрытия крышки. Выводы делайте сами.
НЛО прилетело и опубликовало эту надпись здесь
Пофик на батарейку. У меня не было такого бешеного отжирания питания, кстати.
НЛО прилетело и опубликовало эту надпись здесь
Несколько месяцев с момента покупки нетбука сидел на хубунте, никаких проблем и тормозов не было (вернее были огромные тормоза при компиляции проектов по сравнению с нормальным десктопом, но это спасибо интел атому). Недавно, правда, вместо xfce стал развлекаться с e17 из svn, но это уже совсем другая история :)
Делаем — в убунте Вы не делали саспенд, а в макоси делаете. Вы научились делать саспенд. Вот, собственно, и все.
Сколько Вам потребуется времени на уход системы в саспенд и возврат из него при убунте?
Не имею представления, Убунтой не пользуюсь.
Я просто не совсем понял Ваш прошлый комментарий.
Вы не сказали, почему не пользовались управлением питанием в убунте. Только что проверил hibernate на debian testing с гномом: 15 секунд на выключение, 45 на включение. Для бука, конечно, чересчур, но на десктопе вполне терпимо.
P.S. для саспенда по времени та же ситуация. Памяти 2GB.
Вооот, поэтому я и говорю, что на Маке это не 15 и 45, а 5 и 2 соответственно. На тех же 2 ГБ памяти.
На уход в саспенд — закрытие крышки. На выход из него — секунды 4-5 + ввод пароля.
> я просто закрываю крышку ноута и он засыпает, открываю крышку и за 2 сек получаю свою систему в том же виде,
> что до закрытия крышки.

Вы описали типичный сценарий пользования ноутбука с Debian`ом.

> Выводы делайте сами.

Автор исходного поста не знает про STR?
Это Вы про en.wikipedia.org/wiki/Short_tandem_repeat или я не понял что-то?
нет, это suspend to ram
имхо, если уж и сидеть на всём тестовом, новом и быстром, при этом не заморачиваясь компиляцией, то лучший выбор на данный момент это 64-битная Fedora
Foresight Linux!
Зачем пытаться оптимизировать процессор на десктопе, если слабое место — i/o с жесткого диска? )
Я сделал apt-get install upstart но похоже, что ничего в загрузке не изменилось. Надо ли его где-то еще конфигурировать?

З.Ы. Ubuntu
В Ubuntu и так используется upstart :)
То-то я разницы не заметил.
По идее он должен был сразу сказать что upstart уже установлен.
ну ото там начало что-то грузить, может пакеты обновляло. Мне показалось что это была установка, я особо не вглядывался.
> Позже пакеты устанавливать через apt-build install, обновлятся через apt-build upgrade, более подробная информация в man apt-build

А apt-get пользоваться можно будет? Или один раз воспользуешься, и привет всей системе?
Можно, если делать пункт про apt-build по статье
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории