Здравствуйте, установил тестовую версию, с учетом дальнейшей покупки.
Начал настраивать шаблон, удалил лишнюю информацию, начал выгрузку каталога из 1С.
После некоторого момента CS-Cart начал дико грузить сервер. Нагрузка идет на процессор до 80%.
И я там один пользователь, сайт пока только на локалке.
Сервер у нас свой достаточно мощный.
Kernel and CPU Linux 3.8.0-38-generic on x86_64
Processor information Intel(R) Xeon(R) CPU E5606 @ 2.13GHz, 8 cores
Nginx + PHP-FPM + MySQL
правда версия PHP 5.3
несколько сайтов и битрикс крутится отлично!
Конфиг Nginx брал у вас в мануале.
Единственное хотел спросить есть ли конфиг настройки CS-Cart с учетом, что на сервере несколько сайтов с разными CMS?
И почему такая нагрузка идет? Как оптимизировать, куда копать?
Nginx + PHP-FPM + MySQL
правда версия PHP 5.3
несколько сайтов и битрикс крутится отлично!
Конфиг Nginx брал у вас в мануале.
Единственное хотел спросить есть ли конфиг настройки CS-Cart с учетом, что на сервере несколько сайтов с разными CMS?
И почему такая нагрузка идет? Как оптимизировать, куда копать?
Сказать однозначно невозможно — нужно профилировать (см. видео). В отчёте будет видно, что в приложении заставляет процессор «напрягаться».
[media]http://www.youtube.com/watch?v=5YUxh4DRy04[/media]
Я рекомендую также задуматься об обновлении PHP до стабильной 5.6. Разработчики языка поработали над производительностью. В будущем и вовсе смигрировать на PHP 7.0 (релиз осенью), когда будет готова с ним совместимость.
Представленный конфиг никак не мешает работе остальных CMS. Вы создаёте отдельный конфиг для хоста вашего магазина и подключаете его в NGINX с помощью include. В некоторых дистрибутивах есть каталоги sites-enabled и conf.d для этих целей.
Я рекомендую также задуматься об обновлении PHP до стабильной 5.6. Разработчики языка поработали над производительностью. В будущем и вовсе смигрировать на PHP 7.0 (релиз осенью), когда будет готова с ним совместимость.
Да, PHP7 ждем, производительность (заявленная Zend) впечатляет.
Хочу поблагодарить Глеба за проделанную работу и рассказать о своих впечатлениях!
Первое, что всегда отталкивает при взаимодействии заказчика и исполнителя это предоплата работы, т.к. в таком случае заказчик не уверен за конечный результат и долго сомневается, прежде чем выбрать исполнителя. Глеб не берет предоплату и выполняет свою работу быстро, качественно и профессионально. Мне кажется на такой шаг может пойти только, уверенный в своем деле, не боящийся трудностей человек.
Обращался несколько раз, моя проблема была всегда оперативно решена.
Рекомендую как ответственного и профессионального исполнителя!
Еще раз, Глеб, большое спасибо! 8)
Всем привет!
Делаю сайтец, на 4.3, поставил на VPS, пока правда слабенький 1Core / 2GB ООП / 60GB SSD, настроил все согласно мануалу по nginx, вроде все работает прекрасно, правда иногда подтормаживает, но я думаю это решается покупкой более мощного VSP и привлечением специалиста по настройке серверов.
Возникала необходимость залить сайт на индексацию, как обычно сгенерировал sitemap, долго длилось минут 20, ну может потому что 140 000 товаров в систему уже, вроде завершилось, ошибок не увидел, но перехожу на или на карта не работает.
Я так думаю что это настройка сервака?
Еще такой вопрос как сделать что бы сайт был без www ?
Пробовал делать в конфиге 301 редирет, тогда сайт отваливается.
Собственно конфиг
################################################################################ # Виртуальный хост по умолчанию, предназначен для работы по IP адресу или домену без собственной конфигурации ################################################################################ server { listen 80; server_name _; root /var/www/empty;# Редирект на нужный магазин по умолчанию location / { return 301 $scheme://technoshop.pro$request_uri; }
}
################################################################################
Описание и конфигурация основного домена для интернет-магазина
################################################################################
server {
listen 80;
# Домен интернет-магазина
server_name technoshop.pro www.technoshop.pro;# Кодировка по-умолчанию charset utf-8; # Расположение логов access_log /var/log/nginx/technoshop.pro_access.log combined; error_log /var/log/nginx/technoshop.pro_error.log; # Основной каталог интернет-магазина root /var/www/html/technoshop.pro; # Сжатие gzip on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain application/xml application/javascript text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss; # Прочие настройки client_max_body_size 100m; client_body_buffer_size 128m; client_header_timeout 300m; client_body_timeout 300m; send_timeout 300m; client_header_buffer_size 100k; large_client_header_buffers 4 16k; # Точка входа в интернет-магазин location / { # Папка с файлами интернет-магазина root /var/www/html/technoshop.pro; # Главный скрипт index index.php index.html index.htm; # Для работы API rewrite ^/api/(.*)$ /api.php?_d=$1&ajax_custom=1&$args last; # Логика поиска скрипта по порядку: файл, папка, скрипт try_files $uri $uri/ @fallback; } # Правиле rewrite для модуля SEO location @fallback { rewrite ^(.*)$ /index.php?$args last; } # Настройки статики, первое правило location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|gz|wof|csv|zip|xml|yml) { access_log off; # Правило поиска статических файлов. Если файл не находится по адресу магазина, то ищем файл по правилу @statics. # Например если магазин расположен в подпапке technoshop.pro/shop/ try_files $uri @statics; expires 14d; add_header Access-Control-Allow-Origin *; add_header Cache-Control public; root /var/www/html/technoshop.pro; } # Правило поиска статических файлов для витрин. Например, если у Вас две витрины в разных подпапках: technoshop.pro и technoshop.pro/shop/ location @statics { rewrite ^/(\w+)/(.*)$ /$2 break; access_log off; rewrite_log off; expires 14d; add_header Cache-Control public; add_header Access-Control-Allow-Origin *; root /var/www/html/technoshop.pro; } # Обрабатываем PHP скрипты. Магия location ~ \.php$ { root /var/www/html/technoshop.pro; proxy_connect_timeout 60000s; proxy_send_timeout 60000s; proxy_read_timeout 60000s; fastcgi_send_timeout 60000s; fastcgi_read_timeout 60000s; try_files $uri $uri/ =404; # Путь до сокета демона PHP-FPM fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Ограничиваем возвожность запуска php в каталогах. Для безопасности.
location /app/ { deny all; # Разрешаем запуск скрипта обмена данными с 1С. location ^~ /app/addons/rus_exim_1c/exim_1c.php { allow all; } } # Разрешаем запуск скриптов способов оплаты location /app/payments/ { allow all; } # Запрещаем PHP в папке /design location /design/ { allow all; location ~* \.([tT][pP][lL]|[pP][hH][pP].?)$ { deny all; } } # Запрещаем PHP в папке /images location /images/ { allow all; location ~* \.([pP][hH][pP].?)$ { deny all; } } # Разрешаем только статику в папке /var location /var/ { deny all; location ~* \.(js|css|png|jpg|gz|xml|yml)$ { allow all; expires 10M; add_header Cache-Control public; add_header Access-Control-Allow-Origin *; } } # Закрываем доступ к бэкапам базы данных интернет-магазина (папка /var/database/) с наружи location /var/database/ { deny all; } # Хранилище резервных копий шаблонов location /var/skins_repository/ { allow all; location ~* \.([tT][pP][lL]|[pP][hH][pP].?)$ { deny all; } } # Обработка API location ~* api/ { rewrite ^/api/(.*)$ /api.php?_d=$1&ajax_custom=1&$args last; } # Запрвещаем .htaccess и .htpasswd location ~ /\.ht { deny all; }
}
Пробовал делать в конфиге 301 редирет, тогда сайт отваливается.
Разделите на две директивы server, с той что с www укажите безусловный редирект.
server { listen 80; server_name www.technoshop.pro; redirect ^ http://technoshop.pro$request_uri permanent; }
server { listen 80; server_name technoshop.pro; [...] }
Разделите на две директивы server, с той что с www укажите безусловный редирект.
server { listen 80; server_name www.technoshop.pro; redirect ^ http://technoshop.pro$request_uri permanent; }server { listen 80; server_name technoshop.pro; [...] }
Недовольный ругается на строку redirect ^ http://technoshop.pro$request_uripermanent;
-- Unit nginx.service has begun starting up. Nov 26 08:59:09 39099.simplecloud.club nginx[17552]: nginx: [emerg] unknown directive "redirect" in /etc/nginx/sites-enabled/default:21 Nov 26 08:59:09 39099.simplecloud.club nginx[17552]: nginx: configuration file /etc/nginx/nginx.conf test failed Nov 26 08:59:09 39099.simplecloud.club systemd[1]: nginx.service: control process exited, code=exited status=1 Nov 26 08:59:09 39099.simplecloud.club systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed
Недовольный ругается на строку redirect ^ http://technoshop.pro$request_uripermanent;
-- Unit nginx.service has begun starting up. Nov 26 08:59:09 39099.simplecloud.club nginx[17552]: nginx: [emerg] unknown directive "redirect" in /etc/nginx/sites-enabled/default:21 Nov 26 08:59:09 39099.simplecloud.club nginx[17552]: nginx: configuration file /etc/nginx/nginx.conf test failed Nov 26 08:59:09 39099.simplecloud.club systemd[1]: nginx.service: control process exited, code=exited status=1 Nov 26 08:59:09 39099.simplecloud.club systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed
Опечатка. Исправьте redirect на rewrite.
Перестало работать
браузер говорит
На этой странице обнаружена циклическая переадресация
Теперь это не редирект со стороны NGINX. Можете убедиться по заголовкам.
goncharov at Gleb-Goncharov in ~ $ curl -I http://www.technoshop.pro/ HTTP/1.1 301 Moved Permanently Server: nginx/1.6.2 (Ubuntu) Date: Thu, 26 Nov 2015 09:26:28 GMT Content-Type: text/html Content-Length: 193 Connection: keep-alive Location: http://technoshop.pro/goncharov at Gleb-Goncharov in ~
$ curl -I http://technoshop.pro/
HTTP/1.1 200 OK
Server: nginx/1.6.2 (Ubuntu)
Date: Thu, 26 Nov 2015 09:26:33 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Last-Modified: Thu, 26 Nov 2015 09:26:29 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Expires: -1
Проверьте, делает ли редирект CS-Cart, например.
Все заработало, спасибо.
Не подскажите что может быть с sitemap?
Добрый день!
Есть ли практика использования не myisam движка хранилища в CSCART ?
Для каких таблиц рекомендуете не использовать myisam ?
Добрый день!
Есть ли практика использования не myisam движка хранилища в CSCART ?
Для каких таблиц рекомендуете не использовать myisam ?
Касаемо выбора движка: из не-MyISAM вы можете использовать только InnoDB/XtraDB и Memory. Однако учтите, в CS-Cart нет транзакционности, потому использование движка с ACID не имеет смысла. Напротив, вы уходите от производительной MyISAM, пусть и менее надёжной, к более медленной модели в InnoDB/XtraDB.
Если же вас интересует Memory, то ни одну из таблиц, за исключением кеша, если вы храните таковой в базе данных, не стоит хранить в RAM. Но и для кеша есть более производительные Redis и APCu.
Касаемо выбора движка: из не-MyISAM вы можете использовать только InnoDB/XtraDB и Memory. Однако учтите, в CS-Cart нет транзакционности, потому использование движка с ACID не имеет смысла. Напротив, вы уходите от производительной MyISAM, пусть и менее надёжной, к более медленной модели в InnoDB/XtraDB.
Если же вас интересует Memory, то ни одну из таблиц, за исключением кеша, если вы храните таковой в базе данных, не стоит хранить в RAM. Но и для кеша есть более производительные Redis и APCu.
В CS-Cart даже во время чтения происходит запись или обновление таблицы например популярных товаров , хранилища сессий , логов в базе и все это с блокировкой таблицы в случае myisam , возможно ещё какие-то модули что -то пишут .
Интересно как Вы решаете вопросы конкурентных изменений , какие движки используете и понимает ли CSCART тип движка , изменится ли тип движка при обновлении очередным патчем ?
Привет! Сделал поддомен с помощью ISPmanager, залил CS Cart свежескачанный. При попытке зайти на поддомен вижу сообщение
Привет! Сделал поддомен с помощью ISPmanager, залил CS Cart свежескачанный. При попытке зайти на поддомен вижу сообщение
ForbiddenYou don't have permission to access / on this server.Залил htaccess от старого сайта, права выставленны. Куда копать?
Прочитать последние записи error.log.
Доброе утро Глеб! У меня проблема такая установили CS-CART вроде все работало хорошо, после добавления более 700 товаров началась нагрузка на хостинг ЦПУ более 70% нагрузки сайт prokesha.ru, я обратился к хостеру по поводу провести анализ нагрузки мне ответили "Нагрузка происходит от фаила php.ini
Хостер написал далее:
Нагрузка создаётся процессами php, nо есть, скриптами сайтов:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14574 u0157959 20 0 355m 54m 36m R 100.0 0.1 1:38.14 php
17951 u0157959 20 0 354m 52m 35m R 100.0 0.1 0:59.24 php
30470 u0157959 20 0 354m 53m 36m R 100.0 0.1 3:46.81 php
21374 u0157959 20 0 13668 1596 788 R 1.9 0.0 0:00.02 top
20029 u0157959 20 0 344m 23m 15m S 0.0 0.0 0:00.13 php
20033 u0157959 20 0 344m 22m 14m S 0.0 0.0 0:00.06 php
21371 u0157959 20 0 103m 1608 1280 S 0.0 0.0 0:00.00 bash
Судя по всему, проблема в скриптах сайта prokesha.ru, при первичной диагностике инструментами хостинга, получить развёрнутую информацию не удалось:
bash-4.1$ strace -p 17951
Process 17951 attached
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=16530, si_uid=0} ---
rt_sigreturn() = 49571
+++ killed by SIGKILL +++
[Mon Feb 29 15:27:09 2016] [error] [client 157.55.39.201] Premature end of script headers: index.php
[Mon Feb 29 15:27:48 2016] [error] [client 157.55.39.218] Premature end of script headers: index.php
На стороне хостинга, проблем также не обнаружено.
По данной проблеме, рекомендуем обратиться к разработчикам сайта, так как анализ скриптов выходит за рамки вопросов, решаемых технической поддержкой хостинга.
Далее еще ответ был:
Проблема с доступностью сайта была устранена, пожалуйста, проверьте. Для устарнения проблемы потребовалось изменение некоторых параметров в php.ini. Из-за использования неоптимальных настроек PHP на вашем аккаунте при работе сайта запускалось чрезмерное количество php процессов из-за чего могла наблюдаться столь высокая нагрузка.
Проследите за нагрузкой на CPU в ближайшем будущем, если нагрузка будет превышать 30% рекомендуем обратиться к разработчикам вашего сайта.
Глеб подскажите как с этим бороться!? В какую сторону капать!? Менять хостинг не вариант!
Глеб подскажите как с этим бороться!? В какую сторону капать!? Менять хостинг не вариант!
Вам верно посоветовали обратиться к разработчикам. Хорошим подспорьем для начала анализа будет отчёт профилировщика (XHProf или XDebug), который вы можете передать девелоперу для исправления ошибок.
Подскажите,случайно удалили все папки с хостинга,база данных цела,закачиваю бэкап файлов,но система не поднимается,выводит пустую страницу вместо сайта.
По идее должно было встать на свои места,т.к все файлы полностью идентичные,но нет
Где искать проблему?