http://www.arbitr.ru/bras/doc.asp?id_doc=d3c010e1-9345-414a-b6e2-b11b80eeb72f&id_src=75C985ADC7AC1D70AAF8B2923C0FE2F9&p=-1&from=/bras/index.asp%3Fmakelist%3D0%26pg%3D-1%26numfound%3D-1%26d1%3D%26d1_month%3D2%26d1_year%3D2009%26d2%3D%26d2_month%3D2%26d2_year%3D2009%26casenum%3D%26id_ac%3D0%26CaseDocType%3D0%26subject%3D%26txtBody%3D%25CC%25E0%25F1%25F2%25E5%25F0%25F5%25EE%25F1%25F2%26SubmitButton%3D%25CD%25E0%25E9%25F2%25E8
А ленту вообще мало у кого язык поворачивается назвать бульварным ресурсом ;)
http://lenta.ru/articles/2009/02/19/hosting/
А вот и нет. Недавно было опубликовано постановление Высшего Арбитражного Суда по этому вопросу. Так вот в нем четко говорится что провайдер в таких случаях ответственности не несет.
Для базы данных MySQL можно поставить патч userstats. Тогда можно будет отслеживать процессорную нагрузку и по базам.
Лишней нагрузки не будет, это просто лимиты чтобы при всплеске нагрузки система не загнулась.
По умолчанию они довольно низкие, приведенные мною значения адекватны для любого современного оборудования.
Для начала создадим юзера. В консоли выполняем:
useradd -d /dev/null -s /sbin/nologin nginx
Ну и затем конфиг такой:
user nginx nginx; worker_processes 2; worker_rlimit_nofile 80000; error_log logs/error.log; pid logs/nginx.pid; events { worker_connections 50000; use epoll; } http { include mime.types; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; server_names_hash_max_size 2048; server_names_hash_bucket_size 128; gzip on; server { listen 80; server_name katushka.net; charset cp1251; rewrite ^/torrentbar/bar.php/([0-9]+\.png)$ /torrentbar/bar.php?id=$1 last; location / { root /home/admin/katushka.net/; index index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } error_page 404 /404error.php; location ~ \.php$ { root /home/admin/katushka.net/; fastcgi_pass 127.0.0.1:1026; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/admin/katushka.net$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name www.katushka.net; rewrite ^(.*)$ http://katushka.net$1 permanent; } server { listen 80; server_name magazinchik.org; charset cp1251; location / { root /home/admin/magazinchik.org/; index index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root /home/admin/magazinchik.org/; fastcgi_pass 127.0.0.1:1026; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/admin/magazinchik.org$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name www.magazinchik.org; rewrite ^(.*)$ http://magazinchik.org$1 permanent; } }
Блокировки могут возникать при сотнях запросов в секунду. При более-менее обычных нагрузках они незаметны :)
KernelMadness добавил 25.02.2009 в 11:42
Это дополнение.
А вот это - worker_rlimit_nofile 32768; замена, причем более грамотная.
И еще, запускать nginx от nobody - дурной тон. Лучше создать пользователя.
Будет полезно установить Munin - комплексную систему мониторинга.
Ну и к ней уже плагины накрутить, для апача и прочих.
worker_processes 1; worker_connections 1024;
worker_processes 15; worker_connections 2048;
15 процессов nginx вам ничего не дадут, обычно рекомендуется ставить соответственно числу процессоров в системе.
Рекомендую так:
worker_processes 2; (если ядер больше, то ставим соответственно)
worker_connections 16384;
Вообще на самом деле Load Average отражает глубину очереди процессов, а не просто отношение рабочих тактов к холостым.
Кор квад например вполне хорошо работает при la 10, и при 20 не сильно напрягает.