VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Здравствуйте!
Есть физический сервер (не VDS), на котором работают два сайта под управлением Vbulletin 3.8.6.
Нагрузка:
Среднесуточное количество уникальных посетителей по обоим сайтам: ~ 15 тыс.
Среднесуточное количество загрузок страниц по обоим сайтам ~ 300-350 тыс.
В среднем в онлайне на обоих серверах порядка 1000 посетителей онлайн.
Сервер brand-name и достаточно мощный, проблем с вычислительными ресурсами нет.
Софт: Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 OpenSSL/0.9.8e DAV/2 PHP/5.2.6 with Suhosin-Patch MySQL/5.1.42
Есть проблема: иногда, без всякой видимой причины apache уходит в swap, что для пользователей выглядит как "сайт перестал отвечать", а в логах фиксируется:
MySQL Error : MySQL server has gone away
Error Number : 2006
<Directory /usr/home/some/data/cgi-bin>
Options +ExecCGI +FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /usr/home/some/data/www>
Options +Indexes +FollowSymLinks +Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /usr/home/some/data/www/forum/images>
ExpiresActive On
ExpiresDefault "access plus 2 month"
</Directory>
<Directory /usr/home/some/data/www/images>
ExpiresActive On
ExpiresDefault "access plus 2 month"
</Directory>
<VirtualHost *:80>
ServerAdmin xxx@xxx.ru
DocumentRoot "/usr/home/some/data/www"
SuexecUserGroup some some
ServerName some.xxx.com
ServerAlias www.some.xxx.com some.xxx.com www.some.yyy some.yyy
ScriptAlias /cgi-bin "/usr/home/some/data/cgi-bin"
php_admin_value open_basedir "/usr/home/some/data:."
php_admin_value upload_tmp_dir "/usr/home/some/data/tmp"
php_admin_value session.save_path "/usr/home/some/data/tmp"
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
ErrorLog "/usr/home/some/data/log/httpd-error.log"
CustomLog "/usr/home/some/data/log/httpd-access.log" common
</VirtualHost> <VirtualHost *:443>
ServerAdmin xxx@xxx.ru
DocumentRoot /usr/home/some/data/www/
SuexecUserGroup some some
ServerName some.xxx.com
SSLEngine on
SSLCertificateFile
/usr/local/etc/apache22/ssl.csr/some1.xxx.com.csr
SSLCertificateKeyFile
/usr/local/etc/apache22/ssl.key/some1.xxx.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
ScriptAlias /cgi-bin "/usr/home/some/data/cgi-bin"
Alias /myadmin /usr/local/www/phpMyAdmin/ <Directory
/usr/local/www/phpMyAdmin/>
AllowOverride All
AddType application/x-httpd-php .php
php_admin_value open_basedir
/usr/local/www/phpMyAdmin/:/tmp:.:..:./:../
php_admin_value upload_tmp_dir /tmp
php_admin_value include_path .:..
php_admin_value session.save_path /tmp
php_admin_value safe_mode off
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
php_admin_value open_basedir "/usr/home/some/data:."
php_admin_value upload_tmp_dir "/usr/home/some/data/tmp"
php_admin_value session.save_path "/usr/home/some/data/tmp"
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
ErrorLog "/usr/home/some/data/log/httpd-error.log"
CustomLog "/usr/home/some/data/log/httpd-access.log" common
</VirtualHost>
Нужно подбирать такие параметры приложений, чтобы они не использовали своп вообще.
Да что там, своп вообще бы отключить.
И где настройки nginx? если такая программа вообще не установлена, надо обязательно ставить. Вместе с nginx можно не запускать большое число обработчиков apache и не расходовать память.
Начни с nginx. В апаче поставь
MaxClients 30
MaxRequestsPerChild 300
вообще, нужен долговременный мониторинг чтобы уверенно судить об эффекте тех или иных настроек . например, вот такой график показывает munin
Всего на сервере 4 Гб.
Тут видно, что апач иногда хоть и пожирает прилично, но никогда не выпрыгивает за границу. Nginx практически не потребляет памяти.
Mysql потребляет не более 700 гб. Оставшаяся память используется операционной системой под кеш файлов и ее тоже важно учесть.
netwind добавил 03.05.2011 в 18:04
Quote:
Originally Posted by "eska;348881"mysql
query_cache_size= 512M
это много практически для любого современного сервера. 64 мб за глаза.
Если затрудняешься сам, помогу настроить на возмездной основе.
Last edited by netwind : 05-03-2011 at 07:04 PM.
Reason: Добавлено сообщение
@career
Простоузер
Join Date: May 2008
Location: Москва
Posts: 42
Версия vB: 3.8.x
Reputation:
Novice 7
Репутация в разделе: 7
0
Напишите тут конфигурацию вашего
Quote:
Сервер brand-name и достаточно мощный, проблем с вычислительными ресурсами нет
. Потому что таких не бывает.
Наверное, вам лучше убрать qcache в Mysql вообще (из конфига).
Потом поставить бесплатный nginx или купить litespeed, если деньги есть.
Потом поставить xcache.
Свопа скорее всего больше не будет.
@tays
Эксперт
Join Date: Jun 2006
Posts: 374
Версия vB: 3.8.x
Пол:
Reputation:
Professional 1079
Репутация в разделе: 761
0
Quote:
Originally Posted by netwind
Начни с nginx. В апаче поставь
MaxClients 30
MaxRequestsPerChild 300
Если nginx нет и не будет, то в апаче можно ставить такие настройки или они должны быть только в паре с nginx?
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by eska
Если nginx нет и не будет, то в апаче можно ставить такие настройки или они должны быть только в паре с nginx?
Да, подразумевается, что в паре с nginx можно не плодить apache. Если nginx нет и MaxClients=30, то посетителям будет казаться, что сервер "залип". Немного улучшить ситуацию можно отключив keep-alive. Но все равно именно потомки apache, как обработчики php потребляют много памяти. Более действенно ставить nginx.
И почему же не будет nginx? Всегда можно разобраться и найти компромиссное решение. Есть и другие похожие по принципу работы на nginx программы - squid, varnish. У меня, например и nginx и скрипт ubr upload нормально работают вместе, хотя исходя из принципов заложенных в nginx, не должны.