LINUX.ORG.RU

PHP в Gentoo потребляет меньше памяти

 


0

1

http://ru.wikipedia.org/wiki/Gentoo_Linux | grep php

PHP в Gentoo потребляет до 25% меньше памяти при прочих равных условиях чем в других Linux-дистрибъютивах, согласно исследованию.

http://habrahabr.ru/post/161629/ | grep 10-20%

Можно заметить, что сборка Gentoo потребляет на 10-20% меньше памяти, а в редких случаях экономия доходит до 50%. Видимо, размер внутренних структур зависит от оптимизаций для процессора. Для экперимента я пересобирал php с разными вариантами CFLAGS, но он от этого не стал потреблять больше. Видимо разница проявляется не из-за пересборки самого PHP, а из пересборки стандартных Сишных библиотек.

это правда? прочел статью, но к сожалению точного рецепта не сообщили. собираю php на lfs. надеюсь просто сборки всего и вся с -march=native достаточно...

★★★★★

это правда?

Возьми и проверь. Вроде никто не запрещает.

init_6 ★★★★★
()

это правда?

facepalm

не читай ты на ночь хабры.

drBatty ★★
()

Возможно, если с -Os собирали и/или с USE="-*".

Lavos ★★★★★
()
Ответ на: комментарий от ggrn

gentoo != server distro

а иные таки ставят. Вроде даже успешно.

(ИМХО дебиан лучше, если кто-то подумал, что я пропагандирую генту на сервер).

drBatty ★★
()
Ответ на: комментарий от ggrn

gentoo != server distro

Да ты что. eselect profile list сделай.

P.S. PHP в генте действительно жрет мало. У меня на гентусервере owncloud крутится, 2 процесса php-cgi, каждый жрет что-то около 15 мегабайт.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Единственная причина не ставить генту на сервер — в том, что под дебианы/RH (centos) гораздо больше security fix'ов, в том числе и бэкпортированных из новых версий.

x3al ★★★★★
()
Ответ на: комментарий от x3al

в том, что под дебианы/RH (centos) гораздо больше security fix'ов

Угу. Вот только есть gentoo hardened, по сравнению с которой у остальных нет шансов.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Да ни разу. Hardened не спасает от половины уязвимостей в ПО, он просто помогает ограничить вред от них, апдейты безопасности оно ни в коем случае не заменяет. А в том же RH вполне штатен SELinux.

x3al ★★★★★
()

Видимо разница проявляется не из-за пересборки самого PHP, а из пересборки стандартных Сишных библиотек

это вообще чушь. Скорее всего влияние оказывают use флаги, т.е. в генте собирается урезанная версия пыха из-за чего где-то что-то выпало лишнего из структур. Не забываем, что пых пылят сказочные гогнокодеры.

mashina ★★★★★
()
Ответ на: комментарий от x3al

А в том же RH вполне штатен SELinux.

но это не касается веба и стороних пакетов. Админы слишком ленивы или не шарят чтобы настроить его правильно под конкретный веб проект, так что обычно просто выключают.

mashina ★★★★★
()
Ответ на: комментарий от tazhate

потребляет меньше памяти

Оптимизации под процессор

Спецы в треде, все в бункер.

anonymous
()

С какой стати отдельный пакет должен при одном и том же ядре пусть даже на разных ОС потреблять разное кол-во памяти? По ссылки тестирования нет, есть только наблюдение что PHP может жрать разное количество памяти на одних и тех же задачах. По ссылке ничего не сказано про параметры системы, отвечающие за управление памятью, а ведь в них вся соль.

Короче, не е*и себе мозг. Нужно будет на 10% больше памяти — купи еще планку, благо они стоят копейки.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

С какой стати отдельный пакет должен при одном и том же ядре пусть даже на разных ОС потреблять разное кол-во памяти?

Как всё запущено.

fragmentor
()
Ответ на: комментарий от soomrack

С какой стати отдельный пакет должен при одном и том же ядре пусть даже на разных ОС потреблять разное кол-во памяти?

С той, что под разные ОС/дистры пакеты с одной и той же программой по разному собраны. + оптимизация под проц и опции сборки.

qnikst ★★★★★
()
Ответ на: комментарий от devl547

Что-то нету там сервере... Но тем не менее gentoo на сервере может жить при желании

vertexua ★★★★★
()
Ответ на: комментарий от devl547

Угу. Вот только есть gentoo hardened, по сравнению с которой у остальных нет шансов.

gentoo hardened без проблем пробивалась паблик эксплоитами типа glibc

xtraeft ★★☆☆
()
Ответ на: комментарий от drBatty

вполне успешно работает впска на генте, nginx+php-fpm для динамики, nginx для статики, vsftpd для фтп. не заглядывал туда уж с полгода, работает просто замечательно.
По теме - производительность не мерял, просто конфигуряемость генты нравится.

NeverLoved ★★★★★
()
Ответ на: комментарий от tazhate

PHP в Gentoo потребляет меньше памяти
Оптимизации под процессор всегда рулили и педалили.

Я думаю, что оптимизация под процессор даёт мизерную экономию по сравнению с невключёнными USE-флагами для ненужных БД, например.

Deleted
()
Ответ на: комментарий от qnikst

О чем и речь. Суть вопроса не в конкретной ОС, а в ее настройках и параметрах сборки. Настроить ОС и пересобрать PHP с оптимизацией по потреблению памяти можно в любом линуксе, и не нужно для этого менять дистрибутив.

soomrack ★★★★
()
Ответ на: комментарий от Deleted

Я думаю, что оптимизация под процессор даёт мизерную экономию по сравнению с невключёнными USE-флагами для ненужных БД, например.

а разве они не модулями компиляются, которые отключатся в php.ini ?

xtraeft ★★☆☆
()
Ответ на: комментарий от soomrack

Ты не прав. Дело в том, что в некоторых дистрибутивах это надо делать «вручную» и «вручную» потом поддерживать, а в некоторых эти действия автоматизированы и не приводят к каким-либо изменениям в дальнейшем сопровождении. Поэтому если ты все равно собираешь пакет, то логично использовать дистрибутив заточенный под эту задачу. Этим большинство source-based дистрибутивы отличаются от большинства бинарных.

Так же в посте рассматривается «изкоробочный» вариант, т.е. тот к которому пользователь не применяет никаких спец действий, и такой пакет в gentoo, отличается от «аналогичного» в бинарном дистре, в том числе и потребляемыми ресурсами.

qnikst ★★★★★
()
Ответ на: комментарий от ggrn

gentoo это метадистрибутив, он и молоток и микроскоп и ненопятная НЁХ, которая бибикает и портит tcp пакеты, в зависимости от рук готовящего. В частности gentoo вполне успешно может быть использована как серверный дистр, и более того эта часть особенно сильна.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

О

Gentoo и «из коробочный» звучит как оксюморон.

Просто кто-то при «тестировании» опустил момент настройки gentoo: выбора use-флагов, флагов компиляции, кажется там даже про 64-битность ничего сказано не было.

Поэтому все то сравнение выеденного яйца не стоит.

soomrack ★★★★
()
Последнее исправление: soomrack (всего исправлений: 1)
Ответ на: комментарий от qnikst

Ну по мне наиболее сильная область применения gentoo это десктоп программиста на все руки. Легкость с которой gentoo позволяет устанавливать и поддерживать 10050 версий пакетов просто поражает, а если к этому еще добавить overlay, то по объему софта ему просто нет равных. И главное все работает и друг другу не мешает.

soomrack ★★★★
()
Ответ на: О от soomrack

Gentoo и «из коробочный» звучит как оксюморон.

имеется ввиду, не лопатим кучу мануалов от апстрима и не выполняем кучу действий руками, а перекладываем это на PM.

Просто кто-то при «тестировании» опустил момент настройки gentoo: выбора use-флагов, флагов компиляции, кажется там даже про 64-битность ничего сказано не было.

Поэтому все то сравнение выеденного яйца не стоит.

согласен, потому в первом комментарии сказал, что нужно нормально сравнивать причем под свой юзкейс.

qnikst ★★★★★
()
Ответ на: комментарий от xtraeft

Ну я лично не вижу никаких внешних модулей

┎ ~
┖ .16 at home $ equery u `qlist -ICv dev-lang/php` | grep sqlite
+sqlite
┎ ~
┖ .18 at home $ equery f `qlist -ICv dev-lang/php` | grep sqlite
┎ ~
┖ .18 at home $ 
Вот полный список файлов, установленных текущим пакетом, если не веришь.

Deleted
()
Ответ на: комментарий от Deleted
cat /etc/php.ini |grep sqlite |grep ext
;extension=php_pdo_sqlite.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;sqlite3.extension_dir =

пожалуйста - поддержка расширений sqlite выключена без use флагов.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

И что это? Диэлоли вообще под оффтопик, а sqlite3.extension_dir, в которой ожидается несуществующий sqlite3.so, пуста по умолчанию, пуста после компиляции с поддержкой sqlite3 включая модуль для pdo.

cat /etc/php.ini |grep sqlite |grep ext

Это у тебя grep так странно сеет или ты от балды написал?
// | grep -E "(sqlite|ext)" было бы разумней.

Deleted
()
Ответ на: комментарий от Deleted

да, наверное я ошибся со sqlite.
про dll не суть важно

xtraeft ★★☆☆
()
Ответ на: комментарий от ggrn

спасибо, что поделился. Ещё бы подтвердить опытом/историями неуспеха или т.п. и оно было бы интересно.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Не осилил локалхост + dyndns + lamp + раздача интернетов, плюнул и перетащил всё на дебиан, а после вообще на freebsd.

Если не ошибаюсь у Крон73 была история успеха/неуспеха с генту.

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

у KRoN73 была история успеха, потом по его словам всё скатилось и он перелез на убунту на десктопе и оставил генту на сервере. Ты мне свои истории давай, истории осиляторов генты я более-менее знаю, т.к. на канал зачастую не редко приходят люди у кого датацентры на генте крутятся со всякими вопросами :)

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Сначала в сборку едра намучился(не хотел в genkernel), потом с dyndns где-то накосячил, в итоге понял что на дебиане будет проще, ибо из коробки всё есть и не будет «хитрых» моментов.

Кстати вчера/сегодня решил пробовать генту на десктоп, был затык с razer naga(определялась как клавиатура, а не как мышь), решил отложить на потом. Да и с ядро 3.10+ не ставились nvidia drivers, но это решилось патчем.

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

gentoo != server distro

*посмотрев на свои ~20 серверов*: у кого как...

Pinkbyte ★★★★★
()
Ответ на: комментарий от x3al

А в том же RH вполне штатен SELinux.

В Hardened он тоже есть, ну и Grsecurity на выбор. А так понятно, что уязвимости надо закрывать, hardened сам по себе - не панацея

Pinkbyte ★★★★★
()
Ответ на: комментарий от soomrack

Настроить ОС и пересобрать PHP с оптимизацией по потреблению памяти можно в любом линуксе

Угу. Только в source-based дистрибутивах(не только о Gentoo речь) такую конфигурацию проще поддерживать

Pinkbyte ★★★★★
()
Ответ на: О от soomrack

Gentoo и «из коробочный» звучит как оксюморон.

man default configuration
man enabled-by-default USE-flags in packages/profiles

Так что скорее твоё выражение - оксюморон.

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.