Нагрузка на CPU сервера

[Удален]
1000

Приветствую коллег!

Имею виртуальную машину (VDS) на сервере Majordomo. На ней крутится сайт на CMS webasyst shop-script. Установлен apache и ngnix. Имеем 1600Mz постоянных и 1300Mz дополнительных, выделяемых по правилам (превышение нагрузки на CPU более 40% в течение 3 минут). Посещаемость до 2500 человек.

Неприятность заключается в том, что при таких, казалось бы, немалых ресурсах, редко, но в период особо бурной посещаемости сервер уходит в даун, помогает только холодная перезагрузка. Поскольку я не силен в ngnix, прошу коллег посоветовать настройки для него, которые помогли бы снизить нагрузку на CPU. Или, быть может, найдутся другие советы. Не хочется терять клиентов, а бездумно наращивать мощности и тратить на это доп. ресурсы не считаю верным.

Заранее признателен!

unixadm
На сайте с 24.09.2010
Offline
110
#1

location ~ \.jpg|gif|css|js|JPG|GIF|CSS|JS|jpeg|JPEG|png|PNG|bmp|BMP {

access_log off;

expires 30d;

break;

}

Это отдаст все картинки сразу nginx-ом.

Host4Biz: NVMe Хостинг в Европе ( https://host4.biz/ru/hosting/shared-hosting ) | Windows/Linux NVMe VPS в Европе ( https://host4.biz/ru/vps ) | Выделенные серверы в Европе, США и Азии ( https://host4.biz/ru/servers/dedicated )
[Удален]
#2
unixadm:
location ~ \.jpg|gif|css|js|JPG|GIF|CSS|JS|jpeg|JPEG|png|PNG|bmp|BMP {
access_log off;
expires 30d;
break;
}

Это отдаст все картинки сразу nginx-ом.

Это в конфиг nginx`а запихать? А по умолчанию nginx кэширует только страницы?

Den73
На сайте с 26.06.2010
Offline
523
#3

Покажите свой конфиг

[Удален]
#4
Den73:
Покажите свой конфиг

С удовольствием :)

#######################################################################

#
# This is the main Nginx configuration file.
#
# More information about the configuration options is available on
# * the English wiki - http://wiki.codemongers.com/Main
# * the Russian documentation - http://sysoev.ru/nginx/
#
#######################################################################

#----------------------------------------------------------------------
# Main Module - directives that cover basic functionality
#
# http://wiki.codemongers.com/NginxMainModule
#
#----------------------------------------------------------------------

user nginx;
# worker_processes changed by Artem Semenov 29.08.10
worker_processes 2;
#worker_processes 1;

#error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;

pid /var/run/nginx.pid;



#----------------------------------------------------------------------
# Events Module
#
# http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------

events {
worker_connections 1024;
}


#----------------------------------------------------------------------
# HTTP Core Module
#
# http://wiki.codemongers.com/NginxHttpCoreModule
#
#----------------------------------------------------------------------

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

# access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;

#
# The default server
#
server {
listen **.***.**.**:80;
server_name my-site-url.ru www.my-site-url.ru;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://**.***.**.**:8080;
proxy_redirect http://my-site-url.ru:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://**.***.**.**:8080;
proxy_redirect http://my-site-url.ru:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# timeouts added 30.08.10 by Artem Semenov
proxy_connect_timeout 120;
proxy_send_timeout 220;
proxy_read_timeout 220;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
access_log /var/www/httpd-logs/my-site-url.ru.access.log;
set $proot "/var/www/user1111/data/www/my-site-url.ru";
if ( $host = "my-site-url.ru" ) {
break;
}
if ( $host = "www.my-site-url.ru" ) {
break;
}
error_page 404 = @fallback;
root $proot;
}
location @fallback {
proxy_pass http://**.***.**.**:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
}

Bazis007
На сайте с 10.06.2008
Offline
84
#5

Есть ли какие-нибудь акселераторы php? Насколько сильная нагрузка на MySQL.

Можно уменьшить чисто воркеров у апача .Это поможет избежать падений, но у пользователей в пиках периодически будут ошибки.

Как дела обстоят с использованием памяти?

P.s. если есть желание пообщаться в ICQ, постараюсь помочь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий