Kerm Posted May 24, 2012 Share Posted May 24, 2012 (edited) Настроил работу престы на сервере с nginx+php-fpm без участия apache, хочу вынести на обсуждение свой конфиг и может кто еще чего подскажет можно сделать или оптимизировать, а может кому сильно помогу: Сервер у меня на CentOS 6 64bit, имеет два виртуальных процессора Прежде всего хочу сказать что apache у меня все же установлен на сервере, но только для работы ISPmanager, потому что без него данная панель работать не умеет, а жизнь упрощает на много, особенно если сайт не один, много почтовых ящиков, баз данных, нужно настроить резервное копирование и т.д. Apache и ISPmanager у меня висит на отдельном порту и nginx не как с apache не контактирует. Когда панель не нужна то сервис httpd всегда можно вырубить если есть такая необходимость, включать только по надобности из консоли. nginx.conf: user nginx; # Число рабочих процессов, рекомендуется ставить по количеству ядер worker_processes 2; # Данную функцию нужно использовать только если на сервере установлено два процессора, если более то погуглив быстро найдете пример для 4х и более процессоров. # Проверить сколько у Вас процессоров, можно в консоли через top, нажав на клавишу 1 и если там только cpu0 то один, есди cpu0 и cpu1 то два и т.д. # Ну или через cat /proc/cpuinfo по той же аналогии. worker_cpu_affinity 0101 1010; # Уменьшает число системных вызовов gettimeofday(), что приводит к увеличению производительности timer_resolution 100ms; # Изменяет ограничение на число используемых файлов RLIMIT_NOFILE для рабочего процесса. # В интернете есть примеры где указана цифра 1000000 и т.д., но я советую использовать именно 8192. worker_rlimit_nofile 8192; # Директива задаёт приоритет рабочих процессов от -20 до 20 (отрицательное число означает более высокий приоритет). worker_priority -10; # Лог полезно включить для выявления ошибок в работе сайта, отлавливать ошибки когда картинка, страница или какой то файл были не найдены на сайте, а указание на это есть. 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 { worker_connections 2048; # Использовать epoll можно только для Centos/Fedora, в других OS другое название. use epoll; } http { reset_timedout_connection on; client_header_timeout 15; client_body_timeout 15; send_timeout 5; keepalive_timeout 30 15; include mime.types; default_type application/octet-stream; client_header_buffer_size 1k; large_client_header_buffers 4 4k; server_tokens off; 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 logs/access.log main; access_log off; gzip on; gzip_min_length 1100; gzip_proxied expired no-cache no-store private auth; gzip_buffers 64 8k; gzip_http_version 1.1; gzip_types text/plain application/xml application/x-javascript text/javascript text/css; gzip_disable "msie6"; gzip_disable Firefox/([0-2]\.|3\.0); gzip_disable Chrome/2; gzip_disable Safari; gzip_comp_level 1; limit_conn_zone $binary_remote_addr zone=addr:10m; client_max_body_size 10M; charset on; sendfile on; tcp_nopush on; tcp_nodelay on; log_format isp '$bytes_sent $request_length'; # Load config files from the /etc/nginx/conf.d directory include /etc/nginx/conf.d/*.conf; # include ниже нужен только если на сервере установлена и работает панель ISPmanager include /usr/local/ispmgr/etc/nginx.domain; ######################SERVERS########################## ######################SITE.RU##################### server { listen XX.XX.XX.XX:80; server_name mysite.ru www.mysite.ru; charset utf8; # Прикрепляем файл со значениями из .htaccess include prestashop.conf; location / { root /var/www/server_user/data/www/mysite.ru; index index.php; server_tokens on; client_max_body_size 10m; client_body_buffer_size 128k; if ( !-e $request_filename ) { rewrite (/|\.php|\.html|\.htm|/[^.]*)$ /index.php last; break; } } # Так как у нас нету apache то если файл или страница (не php) будет не найдена, то nginx выдаст ошибку 404, это правило при этой ошибке автоматически редиректит на главную страницу сайта. error_page 404 /404/; location = /404/ { rewrite ^ http://mysite.ru permanent; } # При этиъ ошибках отправлять пользователя на стандартную страницу с описанием ошибки nginx error_page 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \..*/.*\.php$ { return 404; } location ~ \.php$ { root /var/www/server_user/data/www/mysite.ru; if ($uri !~ "^/upload/") { fastcgi_pass 127.0.0.1:9000; } if ($uri !~ "^/download/") { fastcgi_pass 127.0.0.1:9000; } fastcgi_connect_timeout 100000s; fastcgi_read_timeout 1000000s; fastcgi_send_timeout 1000000s; fastcgi_buffer_size 64k; fastcgi_buffers 16 64k; fastcgi_param SCRIPT_NAME index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; if (!-e $request_filename) { rewrite ^(.*)$ /index.php last; } } location ~* ^.+\.(jpg|jpeg|gif|css|png|js|xml|htm|html|shtml)$ { root /var/www/server_user/data/www/mysite.ru; expires 4M; access_log off; #set $memcached_key $uri; #memcached_pass 127.0.0.1:11211; } location /img/ { #Кеширум картинки месяца на 4 expires 4M; #Кешируем везде (и на прокси и на клиентах) add_header Cache-Control public; } location ~ /\.ht { deny all; } # Явно указываем путь к robots.txt, если не указать то файл будет не найден location = /robots.txt { allow all; root /var/www/server_user/data/www/mysite.ru; } # Явно указываем путь к favicon.ico, если не указать то файл будет не найден location = /favicon.ico { allow all; root /var/www/server_user/data/www/mysite.ru/img; } # По скольку apache у нас нету, то закрываем папки, файлы, типы файлов для доступа nginx'ом location ~* \.(override|tools|translations|webservice|modules|char|classes|install|config|controllers|docs|export|localization|log|.*sql|.*bz2|.*csv|.*tpl(\.php)?|xtmpl)$|^(\..*|Entries.*)$|\.php_ { deny all; } # Строчка ниже нужна только если у Вас установлена и работает панель ISPmanager include /usr/local/ispmgr/etc/nginx.inc; } } prestashop.conf (Лучше используйте значения их своего .htaccess генерированного Вашим престашопом, переделать его под nginx легко, сравните мой и Ваш файл, там спереди и сзади нужно поменять значения на те что понимает nginx ) rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg last; rewrite ^/([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg last; rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg last; rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg last; rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last; rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg last; rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last; rewrite ^/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 last; rewrite ^/[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 last; rewrite ^/([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 last; rewrite ^/([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 last; rewrite ^/([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 last; rewrite ^/([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 last; rewrite ^/content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 last; rewrite ^/content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 last; rewrite ^/page-not-found$ /404.php last; rewrite ^/address$ /address.php last; rewrite ^/addresses$ /addresses.php last; rewrite ^/authentication$ /authentication.php last; rewrite ^/best-sales$ /best-sales.php last; rewrite ^/cart$ /cart.php last; rewrite ^/contact-us$ /contact-form.php last; rewrite ^/discount$ /discount.php last; rewrite ^/guest-tracking$ /guest-tracking.php last; rewrite ^/order-history$ /history.php last; rewrite ^/identity$ /identity.php last; rewrite ^/brands$ /manufacturer.php last; rewrite ^/my-account$ /my-account.php last; rewrite ^/new-products$ /new-products.php last; rewrite ^/order$ /order.php last; rewrite ^/order-follow$ /order-follow.php last; rewrite ^/quick-order$ /order-opc.php last; rewrite ^/order-slip$ /order-slip.php last; rewrite ^/password-recovery$ /password.php last; rewrite ^/prices-drop$ /prices-drop.php last; rewrite ^/search$ /search.php last; rewrite ^/sitemap$ /sitemap.php last; rewrite ^/stores$ /stores.php last; rewrite ^/supplier$ /supplier.php last; php-fpm.conf: ;;;;;;;;;;;;;;;;;;;;; ; FPM Configuration ; ;;;;;;;;;;;;;;;;;;;;; ; All relative paths in this configuration file are relative to PHP's install ; prefix. ; Include one or more files. If glob(3) exists, it is used to include a bunch of ; files from a glob(3) pattern. This directive can be used everywhere in the ; file. include=/etc/php-fpm.d/*.conf ;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] ; Pid file ; Default Value: none pid = /var/run/php-fpm/php-fpm.pid ; Error log file ; Default Value: /var/log/php-fpm.log error_log = /var/log/php-fpm/error.log log_level = notice emergency_restart_threshold = 0 emergency_restart_interval = 1m process_control_timeout = 5s [www] listen = 127.0.0.1:9000 listen.backlog = -1 listen.allowed_clients = 127.0.0.1 user = nginx group = nginx listen.mode = 0666 pm = dynamic pm.max_children = 25 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 20 pm.max_requests = 4096 request_terminate_timeout = 500s request_slowlog_timeout = 10s slowlog = /var/log/php-slow.log rlimit_files = 4096 rlimit_core = 0 catch_workers_output = yes env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp env[OSTYPE] = $OSTYPE env[MACHTYPE] = $MACHTYPE env[MALLOC_CHECK_] = 2 Еще можете установить php-eaccelerator из atomic репозитория. Если кто тоже юзает apache для IPSmanager, то настройки его можно снизить, поскольку панели не много нужно: Timeout 20 KeepAlive off MaxKeepAliveRequests 100 KeepAliveTimeout 2 <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 5 ServerLimit 10 MaxClients 10 MaxRequestsPerChild 1000 </IfModule> <IfModule worker.c> StartServers 1 MaxClients 2 MinSpareThreads 1 MaxSpareThreads 5 ThreadsPerChild 10 MaxRequestsPerChild 1000 </IfModule> Настройка самого престашопа: Удалите из корня файл .htaccess он там больше не нужен. Зайдите на вкладку Инструменты -> Информация о конфигурации и там если будут какие ошибки, например связанные с правами на папки, то поправьте их по SSH, не забудьте что если меняете права из под root, то владельцем файлов автоматически становится root, так что после сделайте chown -R user:group site.ru чтобы сменить владельца и группу на файлы. Права на файлы 666 а папки 777 нужно поставить, на те что ругается преста. Так же скорее всего у Вас почта в престашопе начнет отправляться не от того адреса, какого Вам нужно, лично у меня так, почта от [email protected] отправляется, нужно на вкладке "Электронная почта" в ручную тогда указать smtp настройки. Edited May 24, 2012 by Kerm (see edit history) 1 Link to comment Share on other sites More sharing options...
gabdr Posted May 24, 2012 Share Posted May 24, 2012 (edited) ставили мы у себя, не увидел разницы от апача, php-frm так же ресурсы ЦП жрет, и проблем больше мой выбор апач+нгинкс+еакселератор+мемкеш Edited May 24, 2012 by gabdr (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 24, 2012 Share Posted May 24, 2012 gabdr, можешь пример проблем привести? слабо верится что пхп жрет столько же сколько ел апач Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) Сравнить с престой на апаче itk с mod_php не могу, но вот что показывает nginx+php-fpm+eaccelerator: top - 10:14:32 up 1 day, 23:53, 1 user, load average: 0.00, 0.00, 0.00Tasks: 149 total, 1 running, 148 sleeping, 0 stopped, 0 zombieCpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stCpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 4126016k total, 1290176k used, 2835840k free, 147932k buffersSwap: 522104k total, 0k used, 522104k free, 751660k cached [root@*****]# free total used free shared buffers cachedMem: 4126016 1291288 2834728 0 147948 751760-/+ buffers/cache: 391580 3734436Swap: 522104 0 522104 На серваке 3 сайта, преста + joomla + статика на html Но это утром, при минимальной нагрузке на сервер.... Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
sors Posted May 25, 2012 Share Posted May 25, 2012 Памяти занято 1.3 Гб при том, что нагрузки совсем нет? 1 Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) gabdr, зная Вас по вашим постам предположу что все установки и настройки были проделаны Вами в "слепую" основываясь на статьях и советах найденных в google и особо большого опыта у Вас в этом нету (извините если обидел или это не так), у меня у самого не сказать чтобы прям уж супер знания в этом. По опыту скажу, что если когда делаешь команду top и у тебя стоит 0 в значениях swap, buffers, cached то меняй хостинг не задумываясь. Все может зависеть от конкретного хостинга, например у меня был клиент который хостился у каких то рябят арендующих сервер на хатзере и платил им по 90р в месяц за shared хостинг и при этом сайт на престе там работал на много лучше чем на fastvps, colobridge на тарифах в районе 350-600р. Так же все может зависеть от Ваших настроек в my.cnf, php.ini, php-fpm.conf, eaccelerator.ini, httpd.conf(если стоит апач для ispmanager), вообщем от конфигов, если у Вас все по дефолту или чего еще страшнее по конфигам что нашли в гугле и вставили без понимания что значит каждый параметр, для чего нужен и на что влияет.... Правильный конфиг рождается либо от большого опыта, либо в поту и мучениях от многочисленных тестов, проб, ошибок, мата и злости и попыток понять почему так, а не как надо, гуглежа, вопросов на тематических форумах (второе в моем случае). Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) Памяти занято 1.3 Гб при том, что нагрузки совсем нет? sors, внимательно смотрим на значения вывода [root@*****]# free А именно в строчку -/+ buffers/cache: где указаны истинные значения, занято всего 391580, т.е. 390мб, все остальное это кеш. Например вот второй мой сервер где 2 интернет магазина, 3 каталога товаров: top - 10:54:03 up 3 days, 17:34, 1 user, load average: 0.39, 0.69, 0.85 Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie Cpu0 : 46.4%us, 25.0%sy, 0.0%ni, 17.9%id, 0.0%wa, 0.0%hi, 0.0%si, 10.7%st Cpu1 : 46.5%us, 5.4%sy, 0.0%ni, 43.4%id, 0.0%wa, 0.0%hi, 0.0%si, 4.7%st Mem: 4126016k total, 3864304k used, 261712k free, 292408k buffers Swap: 522072k total, 0k used, 522072k free, 3243800k cached А если сделать free: [root@**** ~]# free total used free shared buffers cached Mem: 4126016 3841340 284676 0 292588 3221956 -/+ buffers/cache: 326796 3799220 Swap: 522072 0 522072 [root@vm4407 ~]# То видно что память занимает всего 326мб, а все остальные 3+ гига это кеш... (Кстати это сервер с nginx+apache itk, mod_php, eaccelerator) Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 25, 2012 Share Posted May 25, 2012 (edited) На серваке 3 сайта, преста + joomla + статика на html Но это утром, при минимальной нагрузке на сервер.... load average: 0.00, 0.00, 0.00 вот это конечно радует) а что за сервак, параметры/хостер? Kerm, а нагрузи престу вечером когда людей нет на http://loadimpact.com/ и заскринь показатели на 20-50 одновременных "посетителях", интересно как эта конфигурация себя поведет. Как раз на днях на хетзнер буду перебираться и то же без апача п.с. только если будешь тестить, выбери страницу категории, где хотя бы 10 товаров есть Edited May 25, 2012 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 У меня на majordomo.ru сайты, http://www.majordomo.ru/collocation/dedicated.php 2xXeon 2.0GHz CPU (dual core Xeon 5500-series), 4Gb RAM, 150Gb SAS HDD На счет хатзера не чего плохого сказать не могу, есть сайт у клиента на среднем vps тарифе, работает не плохо, все настроено и свап и т.д. Очень профессионально установили и настроили весь софт в ручную, поставили ISP панель, даже перенял у них чуток опыта посмотрев файл .bash_history после их настройки сервера...да и за ту же цену что я плачу на majordomo там можно взять довольно крутой типа: Root Server EX 10 http://www.hetzner.de/hosting/produkte_rootserver/ex10 Но...у меня на организацию все регить нужно и куча сайтов и оплата по безналу хз как там и уже все настроено и работает неплохо, тьфу..тьфу.., так что не буду переносить, и хз на счет русского суппорта там. Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) Странныц load average: 0.00, 0.00, 0.00 вот это конечно радует) а что за сервак, параметры/хостер? Kerm, а нагрузи престу вечером когда людей нет на http://loadimpact.com/ и заскринь показатели на 20-50 одновременных "посетителях", интересно как эта конфигурация себя поведет. Как раз на днях на хетзнер буду перебираться и то же без апача п.с. только если будешь тестить, выбери страницу категории, где хотя бы 10 товаров есть Странный сервис, при 50 и 7мб трафе у меня до 5 load average поднялся, после я хотел еще раз попробовать и мне написали типа сайт уже был протестирован, а после ко мне пришел в гости 50мб траф ddos!!! сайт до 25 load everage поднял, страницы где то секунд по 10 открывались.. Ща зарегился там может еще раз даст сделать тест, а то я скринов не сделал. Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 Эти данные были с включенным апачем, сейчас отрубил его, совсем другие цифры, скоро будет фотоотчет Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) Значения там все время скакали как на сайте так и в терминале, в цифрах я не особо разобрался, скажи на сколько все плохо или хорошо у меня: Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 Походу не очень гуд, протестил сайт клиента на хатзере, тариф http://www.hetzner.de/en/hosting/produkte_vserver/vq19, там стоит один 3000Mhz проц с 4мб кэша и 64битная CentOS 6, стоит апач itk, php 5.3, mod_php, eaccelerator...и устанавливали они там все. У меня 2x2400Mhz, 2мб кеша и 32х битная ОС, и другой софт.. Link to comment Share on other sites More sharing options...
sors Posted May 25, 2012 Share Posted May 25, 2012 Виртуальный хостинг за 900 руб в год Link to comment Share on other sites More sharing options...
Kerm Posted May 25, 2012 Author Share Posted May 25, 2012 (edited) Виртуальный хостинг за 900 руб в год А на какую страницу был направлен тест? Я его на страницу категории с 12 товарами на ней указывал...на ней так же идет длинный список категорий и под категорий, фильтр blocklayed (как то так). Просто если направить тот сайт на главную страницу или на страницу где одна статика то такой график будет на любом хостинге.. Edited May 25, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 25, 2012 Share Posted May 25, 2012 По первому графику видно что доходит до 30 клиентов (порядка 120 хитов/сек, судя по скринам) и начинается свистопляска на хетзнере выглядит очень симпатично, что странно с учетом апача и обычной виртуалки по хостингу - озадачен.. 2 варианта - либо суперкеш, видно на старте графика, либо это же можно трактовать как "упал и отрубился" (там есть еще данные по ответам сервера, в них не 5xx и т.д. случайно?) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 25, 2012 Share Posted May 25, 2012 (edited) У меня на majordomo.ru сайты, http://www.majordomo...n/dedicated.php 2xXeon 2.0GHz CPU (dual core Xeon 5500-series), 4Gb RAM, 150Gb SAS HDD сперва повелся на dedicated в урл... потом посмотрел внимательнее, обычная виртуалка. Чисто имхо, верить "нашим" хостерам насчет ресурсов - на свой страх и риск, уже писано про это переписано в интернетах. ddos это вряд-ли) Но...у меня на организацию все регить нужно и куча сайтов и оплата по безналу хз как там и уже все настроено и работает неплохо, тьфу..тьфу.., так что не буду переносить, и хз на счет русского суппорта там. просто для инфо - у хетзнера в россии есть ресселлер, firstvds то ли fastvps чуть дороже, но рашен ТП + все плюшки внутренних платежей Edited May 25, 2012 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
gabdr Posted May 25, 2012 Share Posted May 25, 2012 (edited) холивар)) top - 23:31:09 up 30 days, 9:40, 1 user, load average: 0.45, 0.40, 0.41 Tasks: 68 total, 5 running, 63 sleeping, 0 stopped, 0 zombie Cpu(s): 22.6%us, 2.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 75.1%st Mem: 819396k total, 754712k used, 64684k free, 109188k buffers Swap: 0k total, 0k used, 0k free, 395620k cached апач-итк+нгинкс+еакселератор+мемкеш Edited May 25, 2012 by gabdr (see edit history) Link to comment Share on other sites More sharing options...
gabdr Posted May 25, 2012 Share Posted May 25, 2012 gabdr, можешь пример проблем привести? слабо верится что пхп жрет столько же сколько ел апач к сожалению не могу в моем примере, было так, поэтому перешли обратно, многое что перестало работать на сайте, нужно ковырять, а эти затраты нетак необходимы, у нас же не больно суперски посещаемый сайт Link to comment Share on other sites More sharing options...
Kerm Posted May 26, 2012 Author Share Posted May 26, 2012 Sors, ответь плз на какую страницу сайта был направлен тест, какая версия престы и как там вкладка производительности настроена, а так же какой софт для оптимизации стоит на сервере. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 26, 2012 Share Posted May 26, 2012 (edited) судя по выкладкам Сорс'а насчет кеширования модулей etc. могу предположить что на тестовом шопе воплощены все его идеи) но для вирт хостинга все равно выглядит волшебно, +1 к подробностям этого теста п.с. только что ради интереса еще раз прогнал шоп сидящий на физ.сервере сервер lamp + nginx + mem, 2 гига и несколько ядер) график - горизонтальная почти-прямая LA средний порядка 0.4 мне был интересен именно расход памяти - вырос с 535 до 567 Мб на пике теста Edited May 26, 2012 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 А ты тест на страницу со списком товаров направлял? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 27, 2012 Share Posted May 27, 2012 А ты тест на страницу со списком товаров направлял? да, забыл указать, страница категории, 25 товаров Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 (edited) SergeyH, у меня к тебе такой вот вопрос, ты устанавливал memcached примерно так: yum install memcached php-pecl-memcache, т.е. сам memcache и модуль для php В php.ini менял ли ты чтобы сессии хранились в memcache или нет? И в админке престашопа ты указывал "Использовать кэширование", выбирал из списка memcached и жал сохранить, а добавлял ли ты сервер?? Я к чему это, просто я когда еще и сервер добавлял то у меня весь сайт начинал жутко тормозить и грузить сервер....а если не добавлять не чего то все работает нормально...но я не уверен совсем ли это правильно и работает тогда memcache вообще.. Да и прописывал ты чего в nginx связанное с memcached? Edited May 27, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 27, 2012 Share Posted May 27, 2012 Я помню ты давно уже "крутишь" эту связку... yum install memcached php-pecl-memcache, т.е. сам memcache и модуль для php юзаю убунту, установил сам мемкеш и php5-memcache, чем модуль из пеар лучше, я хз. В php.ini менял ли ты чтобы сессии хранились в memcache или нет? нет И в админке престашопа ты указывал "Использовать кэширование", выбирал из списка memcached и жал сохранить, а добавлял ли ты сервер?? Я к чему это, просто я когда еще и сервер добавлял то у меня весь сайт начинал жутко тормозить и грузить сервер....а если не добавлять не чего то все работает нормально...но я не уверен совсем ли это правильно и работает тогда memcache вообще.. вижу у многих этот момент тоже вызывает затрудения. Конечно надо указать айпи сервера и порт для подключения к нему, иначе преста не будет юзать мемкеш посмотри запущен ли сервер (в твоем дистре может быть ps -a команда) ps a | grep memc должен быть результат вида /usr/bin/memcached -m 64 -p 11211 -u www-data -l 127.0.0.1 (только что полез проверить и оказалось что я забыл стартануть мемкеш, сцуко, получается уже неделю-две сервер пашет без него) Имхо, тормоза могут быть связаны с виртуальной ОЗУ которую дают тебе в впс, рекомендую почитать подробности насчет виртуализации openvz которую юзает большинство хостеров, в частности про память. Да и прописывал ты чего в nginx связанное с memcached? Нет, нжинкс сейчас отдает только статику Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 (edited) Да у меня на xen виртуализации серваки...в общем я уже давно пытаюсь подружиться с мемкешем и время от времени делаю попытки подключить престу к нему, но если я там добавлю сервак то у меня страницы начинают долго грезиться и чем больше запросов со страницы идет тем больше она грузиться. Мемкеш настроен стандартно да и там конфиг его это 5 строчек всего..комманды все показывают что сервис работает и все свиду нормально... Edited May 27, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 (edited) [root@vm ~]# ps -e | grep memcached 796 ? 00:00:00 memcached [root@vm~]# php -i | grep memcache /etc/php.d/memcache.ini, memcache memcache support => enabled memcache.allow_failover => 1 => 1 memcache.chunk_size => 32768 => 32768 memcache.compress_threshold => 20000 => 20000 memcache.default_port => 11211 => 11211 memcache.hash_function => crc32 => crc32 memcache.hash_strategy => consistent => consistent memcache.lock_timeout => 15 => 15 memcache.max_failover_attempts => 20 => 20 memcache.protocol => ascii => ascii memcache.redundancy => 1 => 1 memcache.session_redundancy => 2 => 2 Registered save handlers => files user memcache sqlite [root@vm10654 ~]# memcached-tool 127.0.0.1:11211 stats #127.0.0.1:11211 Field Value accepting_conns 1 auth_cmds 0 auth_errors 0 bytes 0 bytes_read 7 bytes_written 0 cas_badval 0 cas_hits 0 cas_misses 0 cmd_flush 0 cmd_get 0 cmd_set 0 cmd_touch 0 conn_yields 0 connection_structures 6 curr_connections 5 curr_items 0 decr_hits 0 decr_misses 0 delete_hits 0 delete_misses 0 evicted_unfetched 0 evictions 0 expired_unfetched 0 get_misses 0 hash_bytes 262144 hash_is_expanding 0 hash_power_level 16 incr_hits 0 incr_misses 0 libevent 1.4.13-stable limit_maxbytes 536870912 listen_disabled_num 0 pid 796 pointer_size 32 reclaimed 0 reserved_fds 20 rusage_system 0.168010 rusage_user 0.016001 threads 4 time 1338141675 total_connections 6 total_items 0 touch_hits 0 touch_misses 0 uptime 5993 version 1.4.13 [root@ ~]# ps ax 796 ? Ssl 0:00 memcached -d -p 11211 -u memcached -m 512 -c 1024 -P Edited May 27, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 Да и при всем при этом сильно возрастает load average! Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 27, 2012 Share Posted May 27, 2012 xen? гм. ну я бы с хостером пообщался тогда, хз. прогнал только что еще раз тестом свой с включенным мемкешем, все также, только раньше пики были до 0.8 в опред моменты, сейчас 0.5 Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 (edited) Да причем тут хостер, наверно что то не так настроено у меня....ума не приложу чего, вроде все делаю правильно, там же ставишь memcached и php модуль посути и все, больше не чего настраивать даже особо не надо. В админке все ясно, а вот работать не хочет..вернее работает но на много хуже чем без memcached.. Edited May 27, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 27, 2012 Share Posted May 27, 2012 Да причем тут хостер, наверно что то не так настроено у меня....ума не приложу чего, вроде все делаю правильно, там же ставишь memcached и php модуль посути и все, больше не чего настраивать даже особо не надо. В админке все ясно, а вот работать не хочет..вернее работает но на много хуже чем без memcached.. я тебя не понимаю. Ты и в прошлый раз и в этот опубликовал "простыни" конфигов, как я помню в прошлый раз тоже были ошибки разного рода, если ты так уверен что хостер ни при чем, кто мешает заюзать дефолтные конфиги на всем ПО и тестировать на них с мемкешем и без, делов на пару часов. К хостеру я тебе советовал обратиться, т.к. там могут быть адекватные и образованные админы, подскажут может что-то, но можно и дальше сидеть гадать "что же я не так настроил" конечно. Link to comment Share on other sites More sharing options...
Kerm Posted May 27, 2012 Author Share Posted May 27, 2012 (edited) Может дело в самой cms и попробовать поставить с нуля.. Edited May 27, 2012 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 28, 2012 Author Share Posted May 28, 2012 SergeyH, а у тебя тип БД InnoDB? Link to comment Share on other sites More sharing options...
Kerm Posted May 28, 2012 Author Share Posted May 28, 2012 Установил на двух серверах memcached + php-pecl-memcache, там где apache itk, mod_php работает все нормально, где php-fpm тормоза причем начинает грузить проц php-fpm именно когда включаешь memcache, может дело в магазе или в php-fpm... Link to comment Share on other sites More sharing options...
sors Posted May 28, 2012 Share Posted May 28, 2012 Тестировал на главной странице, но есть подозрение, что хостер включает защиту от доса и вырубает трафик от этого сервиса. Link to comment Share on other sites More sharing options...
kharkov_max Posted January 26, 2014 Share Posted January 26, 2014 Добрый день господа. Понимаю что тема старая, но наверняка актуальная. Вот у меня тоже появилась идея перенести prestashop с apache на nginx. Понимаю что это гиморой, но все же.... Версия магазина обновилась, да и nginx тоже. Не подскажете какие новые грабли появились, может Ваши конфиги обновились и т.д. И вообще стоит ли оно того ... Цель - ускорить магазин. По идее под nginx при высоких нагрузках магазин должен работать веселее ... Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted January 28, 2014 Share Posted January 28, 2014 все работает, грабли на память не помню) просто разворачивай тестовое рабочее окружение и на нем обкатай перед запуском. Link to comment Share on other sites More sharing options...
PapiDi Posted December 11, 2015 Share Posted December 11, 2015 (edited) Подскажите пжл, ошибка 500, никак не могу решить... сперва была 413, решил - прописал client_max_body_size 100M; в nginx.conf 500 никак не осилю... не могу загружать изображения норм размером... логи, хз от туда взял или нет.. /домен.com.error.log 2015/12/11 23:23:32 [warn] 4311#0: *263 a client request body is buffered to a temporary file /var/lib/nginx/tmp/client_body/0000000030, client: айпитут, server: домен.com, request: "POST /atut1st/index.php?controller=AdminModules&configure=steasycontent&tab_module=front_office_features&module_name=steasycontent&token=4f9abdcae4ab695042b4c6b423c96a83 HTTP/1.1", host: "домен.com", referrer: "http://домен.com/atut1st/index.php?controller=AdminModules&configure=steasycontent&id_st_easy_content=12&updatesteasycontent&token=4f9abdcae4ab695042b4c6b423c96a83" [Fri Dec 11 23:23:32.418135 2015] [fcgid:warn] [pid 4308] [client айпитут:50754] mod_fcgid: HTTP request length 134105 (so far) exceeds MaxRequestLen (131072), referer: http://домен.com/atut1st/index.php?controller=AdminModules&configure=steasycontent&id_st_easy_content=12&updatesteasycontent&token=4f9abdcae4ab695042b4c6b423c96a83 Есть мысли? Edited December 11, 2015 by PapiDi (see edit history) Link to comment Share on other sites More sharing options...
PapiDi Posted December 11, 2015 Share Posted December 11, 2015 Решил: Если появляется ошибка mod_fcgid: HTTP request length хххххх (so far) exceeds MaxRequestLen (хххххх), referer: ххх когда PHPработает как CGIНеобходимо в файл конфигурации fcgid.conf добавить строку Код: FcgidMaxRequestLen 2097152 2097152 = 2 МБи перезагрузить серверфайл конфигурации для СentOs находится/etc/httpd/conf.d/fcgid.conf Link to comment Share on other sites More sharing options...
Lev Posted December 5, 2018 Share Posted December 5, 2018 Вы не сталкивались с проблемой доступа к некоторым разделам админки в 1.7.4.4? Например на этот адрес заходит без проблем: /admin/index.php?controller=AdminEmails А на этот адрес выкидывает в 404 ошибку: /admin/index.php/configure/advanced/performance Предполагаю что загвоздка в настройке ngnix или php-fpm? Форумы лапатил, настройки всякие пробовал - весь день борюсь, не могу справиться. У меня openvz \ centos7 x64 через vestaCP: ngnix php-fpm и тд. Link to comment Share on other sites More sharing options...
TemKa_SD Posted December 15, 2018 Share Posted December 15, 2018 On 12/6/2018 at 1:38 AM, Lev said: Вы не сталкивались с проблемой доступа к некоторым разделам админки в 1.7.4.4? Например на этот адрес заходит без проблем: /admin/index.php?controller=AdminEmails А на этот адрес выкидывает в 404 ошибку: /admin/index.php/configure/advanced/performance Предполагаю что загвоздка в настройке ngnix или php-fpm? Форумы лапатил, настройки всякие пробовал - весь день борюсь, не могу справиться. У меня openvz \ centos7 x64 через vestaCP: ngnix php-fpm и тд. Здравствуйте. У меня тоже nginx + php-fmp полет отличный, могу посмотреть ваш конфиг, нужен будет тим виер. 1 Link to comment Share on other sites More sharing options...
Lev Posted December 17, 2018 Share Posted December 17, 2018 Да всё норм, разобрался в косячном конфиге nginx. Link to comment Share on other sites More sharing options...
s1uggard Posted April 26, 2019 Share Posted April 26, 2019 On 12/17/2018 at 3:38 PM, Lev said: Да всё норм, разобрался в косячном конфиге nginx. Не подскажите в чём дело было? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now