r0mik

Рейтинг
77
Регистрация
14.02.2010
seocore:
интересно, если картинки лежат в базе - то это вообще, что-то на грани адекватности

бывает и такое, но чаше примерно вот такое -

http://forum.site.ru/download/file.php?avatar=77.jpg или ?id=777&mode=view (вложение фотки)

даже в этом случае лучше избавиться от лишних дерганий базы и пхп вообще, прикрутив кеширование хотя бы на 5 мин... nginx очень быстро раздаст подобное через кипаливы, так что поддерживаю на все 100

так я и не отрицаю что случай частный

я наоборот изначально говорил что он частный...

стандартными установками не занимаюсь уже лет 5... но и там можно допилить/выкинуть лишнее, о чем собственно я и пытаюсь сказать..

ps: почта есть, правда без pop3/imap, зато с вебмордами.. по правде говоря юзается не очень активно, всего лишь под 500 писем в сутки принимает и раза в 2 больше отправляет...

pps: короче говоря прекращаю я холивар, надоело. думаю ТСу уже ясно нужно ли ему все вышеперечисленное или не нужно...

там не зря гента - все собрано руками (с -Os), в т.ч. и ядро. все лишнее выкинуто, фактически даже ide\sata отсутствуют и обычные дрова сетевухи (все на virtio)... ядро в запакованном виде 25 метров? да не смешите меня :-D


romik@romik ~ $ ssh root@site.ru ls -alh /boot/
total 1.5M
drwxr-xr-x 3 root root 144 Jul 24 09:24 .
drwxr-xr-x 19 root root 440 Sep 22 17:20 ..
-rw-r--r-- 1 root root 0 Jul 22 17:01 .keep
lrwxrwxrwx 1 root root 1 Jul 12 18:20 boot -> .
-rw-r--r-- 1 root root 1.5M Sep 15 16:27 bzImage
drwxr-xr-x 2 root root 632 Jul 22 17:06 grub
Raistlin:
А память ядра, буферы, кеш ядра вы не учли абсолютно.

а как же вывод free? там все есть (учитывается)....

Raistlin:
Только чтобы веб-сервер с мускулом и пыхой и все это обрабатывало 3 тысячи посетителей в сутки - 2-3 к2иента в минуту оно потянет При хорошем раскладе.

показанный мной сервер имеет посещаемость под 4К посетителей в сутки. там друпал и уберкарт (максимум кеширования и статики), в придачу пхпбб с общим кол-вом юзеров под 10К, базой в 400 метров и с чатом в придачу... в БД сейчас открыто 482 таблицы, реально если вынести БД, то можно еще освободить черте-сколько памяти. вот вам и nginx+php-fpm+eAccelerator...

кол-во хитов на данный момент (с 0 часов по мск)

sh-4.1# wc -l /var/log/nginx/site_ru.access_log
209160 /var/log/nginx/site_ru.access_log

и успеет набежать еще столько же к концу суток...

Raistlin:
Ну-ну . Это вы мне сейчас показали php-fpm иголый джинкс

так я ведь не зря сказал ТС-у, что это помогает мне лично экономить. да, мои клиенты платят всего лишь $6 в месяц за VDS и не нарадуются, поверьте. я ведь не зря ТСу посоветовал обратиться к админу...

Raistlin:
Ромик, только ядро кушает 90 мегабайт памяти минимум..

вот же ж, а у меня в телефоне 64 метра памяти всего, а в SetTopBox-e так вообще 32, и как-то влазит туда 2.6.х, да еще и звонит и кино показывает... про модемы/роутеры я промолчу вообще...

после этого вашего утверждения не вижу смысла спорить вообще (про уберкарты и друпалы), но тем не менее -


sh-4.1# ps --sort rss -eo rss,cmd
RSS CMD
0 [kthreadd]
0 [migration/0]
0 [ksoftirqd/0]
0 [events/0]
0 [khelper]
0 [netns]
0 [async/mgr]
0 [sync_supers]
0 [bdi-default]
0 [kblockd/0]
0 [kseriod]
0 [kswapd0]
0 [aio/0]
0 [crypto/0]
0 [vballoon]
0 [reiserfs/0]
0 [flush-254:0]
0 [rpciod/0]
0 [nfsiod]
80 supervising syslog-ng
144 /sbin/udevd --daemon
184 /sbin/udevd --daemon
200 bin/ziproxy -d -c /home/r0mik/etc/ziproxy/ziproxy.conf
232 init [3]
252 /sbin/udevd --daemon
320 /sbin/agetty 38400 tty1 linux
360 /usr/sbin/sshd
424 /usr/sbin/cron
432 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf
528 ps --sort rss -eo rss,cmd
540 //usr/lib/postfix/master
624 qmgr -l -t fifo -u
628 dovecot-auth
632 /usr/sbin/syslog-ng
720 imap-login
1016 /usr/bin/php-fpm -y /etc/php/fpm-php5/php-fpm.conf
1380 nginx: cache manager process
1424 dovecot-auth -w
1468 pickup -l -t fifo -u
1868 smtp -t unix -u
2012 trivial-rewrite -n rewrite -t unix -u
2272 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
2440 sshd: root@pts/0
2584 cleanup -z -t unix -u
2868 nginx: worker process
19676 /usr/bin/php-fpm -y /etc/php/fpm-php5/php-fpm.conf
23960 /usr/bin/php-fpm -y /etc/php/fpm-php5/php-fpm.conf
24000 /usr/bin/php-fpm -y /etc/php/fpm-php5/php-fpm.conf
76128 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
sh-4.1# free -m
total used free shared buffers cached
Mem: 376 351 25 0 33 191
-/+ buffers/cache: 126 249
Swap: 511 32 479
sh-4.1# uname -a
Linux site.ru 2.6.34-gentoo-r1 #4 SMP Sat Jul 24 09:17:29 MSD 2010 i686 QEMU Virtual CPU version 0.9.1 GenuineIntel GNU/Linux
sh-4.1# netstat -ntu |grep ESTA|wc -l
92

хоть тут и 376 метров всего (вечером могу выдать вам и по 128метровым), но видно что занято лишь 126, при этом видно сколько кто жрет и видно сколько соединений открыто..

в общем считайте дальше сами...

все это риторика...

при 2-3х десятках одновременно шарящихся юзеров он таки действительно не нужен. кроме всего прочего, таки действительно не факт, что с nginx будет быстрей.. часто даже несколько хуже бывает по скорости отдачи динамики, потому как тут еще один "слой лишний", да...

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

когда же кол-во одновременно-присутствующих юзеров перевалит за несколько сотен, то есть когда речь идет уже о сколь-либо высоконагруженной системе, вот тогда уже преимущества nginx-a станут очевидны, даже при одном сервере, потому что не всегда возможно учесть все нюансы и дотюнить апач с пхп до идеала - много проще возложить на nginx кое-чего (кеширование, гибкость(пусть статичная в настройках), те же limit_req спасают сильно, но в какой панели вы их видали "из коробки" нормальными?)... потому я и сказал ТС-у, чтоб не забивал себе голову лишними сущностями, а лучше возложил задачу на админа...

у nginx-a нет "не кипалива", да, потому что он фронтенд, расчитаный на статику по большей части. сам механизм обработки запросов nginx-ом его предполагает, отсутствие оного ему не нужно и вредно. я не помню случая еще, когда бы мне понадобилось его отключить... с версии 8-какой-то есть параметр keepalive_requests, задающий максимальное кол-во таких соединений, и этого вполне достаточно...

Raistlin:
случаем не OpenVZ

нет, xen/kvm, БД там же....

Dima1978:
Итог по всему что написал.

ключевым пунктом тут нужно считать первый. даже пункт №2 уже спорный, потому как и кеширование разным бывает... nginx при правильной конфигурации обработает локейшны на порядок быстрей, чем апач обработает мод_реврайтом реврайты, то есть имеющееся во многих CMS-ах кеширование статики (drupal+boost как пример) отработает быстрей, причем на много быстрей (речь о сотнях/тысячах запросов, при десятке разница нивелируется ессно). проверено неоднократно, можете поверить...

Dima1978:
ngnix-eAccelerator-кеширование это безкомпромисов и это необходимо?

не знаю как вам оно необходимо, а мне это позволяет на вдс-е со 128ми метрами памяти держать, например, друпал с уберкартом, при ~3К уникумов и 150К хитов (и это не предел далеко)...

Dima1978:
А в чем их польза я понять не могу, пока не могу, да мне это, наверное, не надо - я больше программер

наверное таки не нужно. поставьте правильно ТЗ - пусть у админа голова болит))

Raistlin:
Ну не знаете вы, чем отличаются prefork и worker, так почитайте хоть .

ну так mod_php не освободит память (сборщик мусора не запустится), пока апач не отдаст весь контент

nginx же буферизирует ответы от бэкенда на диск, экономя тем самым ее (иногда в разы)

Raistlin:
Вы в сказки верите?

это суровая реальность. можно уложить сервак на апаче в своп банальным десятком одновременных wget --limit-rate=0.1K http://servak/скрипт_жрущий_память.php (к примеру пусть это будет динамическая генерация многометрового sitemap.xml)

попробуйте выполнить несколько десятков таких одновременных запросов на голый апач и на фронтенд с nginx - сравните

а почему бы не использовать nginx+php-fpm например и не мучаться? если уж не тормозит...

или если таки действительно

skyscr:
php запросы в базу и обратный вывод картинок долго тупит

то я бы прикрутил кеширование, дабы не дергать несчастную БД и пхп из-за каких-то там смайликов\иконок, пусть даже и фоток...

покажите как там в Joomla грузятся эти картинки, попробуем составить конфиг...

при чем тут cpulimit, давно есть cgroups/cpusets (емним с 2.6.19 в ядре, а патчи так вообще с 2006)

этот механизм частично используется в openvz(новом) вместо user-beancounters, а lxc (linux containers) вообще полностью на нем построен. позволяет выделять ядра на процесс, в т.ч. и эксклюзивно, позволяет гибко настраивать планировщик (там много вариантов, фактически даже более гибко, чем в xen), распределять i/o, память, как обычную, так и виртуальную. доступ к устройствам, учет.... почти все есть в linux/Documentations/cgroups/...

ssh, ребуты... в RH сидят не идиоты и после добавления нод в свои Ъ-интерпрайз-кластера не идут туда по ssh команды там вбивать :D libvirt уже давно всем этим рулить умеет (http://berrange.com/posts/2009/12/03/using-cgroups-with-libvirt-and-lxckvm-guests-in-fedora-12/).....

ps: рекомендую вам скачать ту же Федору последнюю или Proxmov-VE, да и посмотреть как оно там...

Opteron:
Он умеет. 😮как ? kvm может порезать cpu или вышел апдейт с новыми плюшками???

умеет, причем сравнительно давно

vm - это обычный процесс

см. Documentation/cgroups/cpusets.txt

kvm. наиболее перспективная (имхо) полноценная виртуализация, которая в ядре из коробки. имеет все современные фичи и активно развивается.

с xen-ом несколько больше головняка и нет например аналога KSM...

виртуалбокс годится только поиграться, так как оверхедит ужасно (при SMP), не имеет паравиртуальных драйверов, масштабируемость нулевая, средства управления скудны...

vmware server глючен, требует тщательного подбора железа

parallels virtuozzo всего лишь контейнеры с красивым gui...

Всего: 311