- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Параметры сервера: 384Mb RAM, 20GB hdd.
Ubuntu 11.10, на сервере также установлен последний Zend Framework и БД mysql
Работает PREFORK конфигурация, апач при загрузке весит ~20Mb, со временем растет до 30Mb.
Параметры конфигурации ниже, nginx отдает статику и кэширует часть запросов к apache.
Смущает то, что процессы apache/mysql залазит в swap, примерно такая картина (mysql спецально не настраивал):
Mem: 372436k total, 299960k used, 72476k free, 38020k buffers
Swap: 393212k total, 58180k used, 335032k free, 114900k cached
502 mysql 20 0 VIRT:170m RES:10m 3616 S 0.0 2.8 0:11.01 SWAP:160m 9040 DATA:131m mysqld
1719 www-data 20 0 VIRT:522m RES:18m 7508 S 0.0 5.2 0:02.45 SWAP:503m 428 DATA:24m apache2
Несколько вопросов:
1. Можно ли уменьшить swap для apache? Критично ли это для производительности сервера?
2. Сколько хостов в сутки сможет выдержать такая конфигурация, 5000 потянет? Что еще можно оптимизировать/улучшить?
3. На хостинге есть папка в которой 30000 подпапок. Может ли это влиять на производительность сервера? Можно ли улучшить? Сейчас настроил в nginx кэш open_file_cache для более быстрого доступа к файлам в этой папке. Правильно ли я это сделал?
4. Как можно оптимизировать mysql и нужно ли это?
Заранее спасибо.
Настройки apache:
KeepAlive Off
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 4
MaxSpareServers 7
MaxClients 7
MaxRequestsPerChild 500
</IfModule>
Настройки nginx
worker_processes 4;
timer_resolution 100ms;
events {
worker_connections 768;
use epoll;
}
http{
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
proxy_cache_path /var/cache/nginx levels=2:2 keys_zone=default:10m;
gzip on;
gzip_disable "msie6";
# gzip_vary on;
gzip_proxied any;
gzip_comp_level 4;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
server {
listen 80; ## listen for ipv4; this line is default and implied
root /home/xxxxx.info/www;
index index.php;
# Make site accessible from http://localhost/
server_name xxxxx.info *.xxxxx.info;
location / {
open_file_cache max=1024 inactive=600s;
open_file_cache_valid 1000s;
open_file_cache_min_uses 1;
open_file_cache_errors on;
proxy_pass http://xxxxx.info:8080;
include /etc/nginx/proxy_params;
}
location /index {
proxy_pass http://xxxxx.info:8080;
proxy_cache default;
proxy_cache_valid 200 302 10m;
include /etc/nginx/proxy_params;
}
location /img {
root /home/xxxxx.info/www;
access_log off;
expires 15d;
add_header Last-Modified: $date_gmt;
}
}
У вас всё настроено не так.
начиная от nginx и кончая апачи.
У вас всё настроено не так.
начиная от nginx и кончая апачи.
А подробнее можно объяснить?
Параметры сервера: 384Mb RAM, 20GB hdd.
Ubuntu 11.10, на сервере также установлен последний Zend Framework и БД mysql
Работает PREFORK конфигурация, апач при загрузке весит ~20Mb, со временем растет до 30Mb.
Параметры конфигурации ниже, nginx отдает статику и кэширует часть запросов к apache.
Смущает то, что процессы apache/mysql залазит в swap, примерно такая картина (mysql спецально не настраивал):
Mem: 372436k total, 299960k used, 72476k free, 38020k buffers
Swap: 393212k total, 58180k used, 335032k free, 114900k cached
502 mysql 20 0 VIRT:170m RES:10m 3616 S 0.0 2.8 0:11.01 SWAP:160m 9040 DATA:131m mysqld
1719 www-data 20 0 VIRT:522m RES:18m 7508 S 0.0 5.2 0:02.45 SWAP:503m 428 DATA:24m apache2
Несколько вопросов:
1. Можно ли уменьшить swap для apache? Критично ли это для производительности сервера?
2. Сколько хостов в сутки сможет выдержать такая конфигурация, 5000 потянет? Что еще можно оптимизировать/улучшить?
3. На хостинге есть папка в которой 30000 подпапок. Может ли это влиять на производительность сервера? Можно ли улучшить? Сейчас настроил в nginx кэш open_file_cache для более быстрого доступа к файлам в этой папке. Правильно ли я это сделал?
4. Как можно оптимизировать mysql и нужно ли это?
1. Апач сам в своп лезть не может, его что-то туда вытесняет; при чем вытесняются большей частью неиспользуемые/малоиспользуемые страницы памяти. Неприятно, но может быть смертельно. Если хотите разобраться - надо смотреть, что память жрёт.
И еще, покажите
2. Сильно зависит от того, что отдаёте.
3. Какая ФС? Если не включён dir_index - будет плохо.
4. Все оптимизации MySQL делятся на две части: оптимизация сервера и оптимизация баз.
Насчет сервера, всё сводится к "больше памяти на всякие-разные кеши и временные таблицы". В Вашем случае - особо не разгуляешься.
Насчет баз - отдельная история.
P.S.: Я надеюсь, у Вас 32х-битная бубунта? Для 64 памяти маловато.
А подробнее можно объяснить?
Чё там объяснять ? StartServers 4 - и это при 384 памяти.
nginx process 4 - много !
nginx КЕШИ - думаю вам только навредят !
--
Эта тема переходит в обучаемый курс юного бойца. 🍿
nginx КЕШИ - думаю вам только навредят !
nginx кеш страниц держит в файловой системе.
nginx кеш страниц держит в файловой системе.
Если вы понимали-бы, то связали три вещи, no ram - swap and cache.
Если вы понимали-бы, то связали три вещи, no ram - swap and cache.
Если б Вы понимали, то бы догадались, что nginx хранит свой кеш в файловой системе, что никак не может занимать ram.
Конечно, кеш файловой системы может занимать ram, но не настолько агрессивно, чтобы загнать в своп работающие процесы.
В этом файле сейчас стоит 5, по умолчанию стояло 60
картинки и html.
/dev/xvda1. Как проверить включен ли dir_index?
Насчет сервера, всё сводится к "больше памяти на всякие-разные кеши и временные таблицы". В Вашем случае - особо не разгуляешься.
Насчет баз - отдельная история.
Понятно, поэтому я эту часть пока не трогал
Извиняюсь, это не VDS, а VPS, общие параметры сервера 24Gb ram 1Tb hdd.
---------- Добавлено 12.05.2012 в 09:58 ----------
А в чем проблема? каждые ест по 20-30 Мб, память это позволяет
Возможно, сколько нужно поставить? На память это все равно не влияет. 4 поставил тк у родного сервера много ядер и каждый процесс сможет крутиться на своем ядре.
Почему?
В этом файле сейчас стоит 5, по умолчанию стояло 60
Где-то так пусть и будет.
картинки и html.
А PHP нету? ;)
/dev/xvda1. Как проверить включен ли dir_index?
Это устройство, на котором размещена ФС. Я спрашивал о типе ФС. Посмотреть можно в mount.
Для ext3/4 наличие dir_index проверяется как-то так:
Включается так:
Индексы заполнятся после перепроверки ФС:
Понятно, поэтому я эту часть пока не трогал
Пока и не трогайте. Если освободится память - можно будет посмотреть.
Извиняюсь, это не VDS, а VPS, общие параметры сервера 24Gb ram 1Tb hdd.
А какая технология виртуализации? Xen? KVM?
Возможно, сколько нужно поставить? На память это все равно не влияет. 4 поставил тк у родного сервера много ядер и каждый процесс сможет крутиться на своем ядре.
Я бы сказал, что будет достаточно 2 на Apache и 2 на nginx.
Всё-таки, система 32 или 64?
Ну и PHP естественно.
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Xen
Всего 2 для apache? nginx поставлю 2, спасибо.
64