gabdr Posted March 20, 2012 Share Posted March 20, 2012 Здравствуйте, перевел свой сайт на vsd, поставил nginx,apache2,memcached,mysql страницы где не задействован mysql грузятся со скоростью 1с, а где он есть от 5 сек до 20 сек. На хостинге загрузка была 0-2 секунды. Причина перехода подключение ODBC драйвера. Помогите пожалуйста в оптимизации my.cnf, сейчас стоит такой, пошалил немного. [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 128M key_cache_division_limit=70 max_allowed_packet = 32M thread_stack = 256K thread_cache_size = 16 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP max_connections = 500 table_cache = 512 thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 16M query_cache_size = 64M max_heap_table_size=32M tmp_table_size=32M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # # Here you can see queries with especially long duration #log_slow_queries = /var/log/mysql/mysql-slow.log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * InnoDB plugin # As of MySQL 5.1.38, the InnoDB plugin from Oracle is included in the MySQL source code. # It has many improvements and better performances than the built-in InnoDB storage engine. # Please read http://www.innodb.com/products/innodb_plugin/ for more information. # Uncommenting the two following lines to use the InnoDB plugin. #ignore_builtin_innodb #plugin-load=innodb=ha_innodb_plugin.so # # * Multiple plugins # If you want to load multiple plugins at the same time, you have to put them on a single # plugin-load line. MySQL does not support several plugin-load directives and always keep the # last read. Then if you want, for example, use the Pinba storage engine while having the # the InnoDB plugin loaded, you should uncomment the following line #plugin-load=innodb=ha_innodb_plugin.so;libpinba_engine.so # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ [MySQL] Description = MySQL driver for Linux & Win32 Driver = /usr/lib/odbc/libmyodbc.so Setup = /usr/lib/odbc/libodbcmyS.so FileUsage = 1 параметры сервера: CPU: 512 МГц RAM: 480 МБ OS debian посещаемость до перевода была 100-200 человек. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted March 20, 2012 Share Posted March 20, 2012 А на каких страницах "не используется mysql", мне просто интересно? При наличии вышеуказанного ПО и достаточных системных ресурсов ну никак страница не может отдаваться за 20 сек даже при дефолтном конфиге мускла. Link to comment Share on other sites More sharing options...
gabdr Posted March 20, 2012 Author Share Posted March 20, 2012 допустим вкладка генератор Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted March 20, 2012 Share Posted March 20, 2012 у тебя "тормозит" только бэкенд? Что в логах мускла/вебсервера вообще? это я тебе к тому написал что ты бы поднял сперва обычный ЛАМП конфиг дефолтный и от него бы уже "шалил" Link to comment Share on other sites More sharing options...
gabdr Posted March 20, 2012 Author Share Posted March 20, 2012 дак я с дефолтного конфига шалил. что значит ламп? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted March 20, 2012 Share Posted March 20, 2012 lamp имел ввиду, не суть, настраивать вдс я не буду) по теме: если ты уверен что дело в мускле - можно а) тестировать нешаленный конфиг б) заглянуть в логи в целом в) заглянуть в лог медленных запросов может там че полезное увидишь Link to comment Share on other sites More sharing options...
gabdr Posted March 21, 2012 Author Share Posted March 21, 2012 я еще подумывал вообще отказаться от апача в пользу nginx Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted March 21, 2012 Share Posted March 21, 2012 да можно все что угодно сделать, просто ты залепил сразу кучу ПО "под оптимизацию" и теперь наблюдаешь бока, чтобы найти причину боков надо как минимум разбираться во всем этом. Я бы на твоем месте оставил конфиг вида апач+мускл+мод_пхп и отладил его нормально и потом уже навешивал мемкеши и энжинксы ну или если чувствуешь в себе силы подымай сразу nginx + php-fastcgi + mysql, правила реврайта для кажется 3-й версии престашопа были на сайте нжинкса, я когда-то ссылку приводил Link to comment Share on other sites More sharing options...
gabdr Posted March 22, 2012 Author Share Posted March 22, 2012 еще раз удостоверился что дело в мускуле, чем больше товаров на странице тем дольше грузится страница, если на странице не более 10 товаров, то грузит очень быстро, если больше то долго. Существенно помог модуль ajaxscroll От Орса с подгрузкой товаров, сделал вывод по 3 товара на страницу, остальное подгружается при просмотре Link to comment Share on other sites More sharing options...
Kerm Posted March 22, 2012 Share Posted March 22, 2012 Угу...если на карточке товара есть блок с дополнительными товарами из этой категории и их там штук 20, и открыть 20 товаров в 20 вкладках то нагрузка на сервак идет огромная... Я офигеваю от размера своей бд, уже 180мб... Кстати я считаю что отключение внутренней статистики в админке благотворно влияет на производительность! Так же будьте с ней аккуратнее! У меня база без контроля за пол года 700мб стала весить! 500мб статистики... Link to comment Share on other sites More sharing options...
Kerm Posted March 22, 2012 Share Posted March 22, 2012 У тебя база Innodb или MyISAM? Link to comment Share on other sites More sharing options...
gabdr Posted March 22, 2012 Author Share Posted March 22, 2012 <p>у меня база всего 20мб весит использую с октября</p> точноне помнжю вроде иннодб. позжетмогутсказать ибо щас не у компа Link to comment Share on other sites More sharing options...
Kerm Posted March 23, 2012 Share Posted March 23, 2012 Ну у меня где то 1к товаров с 4к комбинациями...больше всего весят таблицы product_atributes и search_index Link to comment Share on other sites More sharing options...
gabdr Posted March 23, 2012 Author Share Posted March 23, 2012 у меня так же Link to comment Share on other sites More sharing options...
Kerm Posted March 23, 2012 Share Posted March 23, 2012 Блин а тогда почему у меня не так.... Link to comment Share on other sites More sharing options...
gabdr Posted March 23, 2012 Author Share Posted March 23, 2012 чтото включено видать Link to comment Share on other sites More sharing options...
gabdr Posted March 25, 2012 Author Share Posted March 25, 2012 с таким конфигом стало таки грузиться нормально от 0.5 сек до 5 секв зависимости от количества присутствия мускула на странице [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 32M max_allowed_packet = 32M thread_stack = 128K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 2M query_cache_size = 32M ######################## ##key_buffer = 128M ##key_cache_division_limit=70 ##max_allowed_packet = 32M ##thread_stack = 256K ##thread_cache_size = 16 ######################### # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP max_connections = 500 table_cache = 512 thread_concurrency = 10 # # * Query Cache Configuration # ######################### ##query_cache_limit = 16M ##query_cache_size = 64M ##max_heap_table_size=32M ##tmp_table_size=32M ######################### # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # # Here you can see queries with especially long duration #log_slow_queries = /var/log/mysql/mysql-slow.log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * InnoDB plugin # As of MySQL 5.1.38, the InnoDB plugin from Oracle is included in the MySQL source code. # It has many improvements and better performances than the built-in InnoDB storage engine. # Please read http://www.innodb.com/products/innodb_plugin/ for more information. # Uncommenting the two following lines to use the InnoDB plugin. #ignore_builtin_innodb #plugin-load=innodb=ha_innodb_plugin.so # # * Multiple plugins # If you want to load multiple plugins at the same time, you have to put them on a single # plugin-load line. MySQL does not support several plugin-load directives and always keep the # last read. Then if you want, for example, use the Pinba storage engine while having the # the InnoDB plugin loaded, you should uncomment the following line #plugin-load=innodb=ha_innodb_plugin.so;libpinba_engine.so # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ [MySQL] Description = MySQL driver for Linux & Win32 Driver = /usr/lib/odbc/libmyodbc.so Setup = /usr/lib/odbc/libodbcmyS.so FileUsage = 1 Link to comment Share on other sites More sharing options...
Kerm Posted March 25, 2012 Share Posted March 25, 2012 myisam-recover = BACKUP два раза повторяется Link to comment Share on other sites More sharing options...
gabdr Posted March 26, 2012 Author Share Posted March 26, 2012 Спс Link to comment Share on other sites More sharing options...
gabdr Posted March 28, 2012 Author Share Posted March 28, 2012 Мне так же помог скрипт mysqltuner всем советую рекомендую так же ознакомиться с этой статейкой Настройка apache 2 + nginx + php 5 + MySQL + memcached + eaccelerator + sphinx в Ubuntu Link to comment Share on other sites More sharing options...
gabdr Posted March 29, 2012 Author Share Posted March 29, 2012 Странно сайт все равно работает не как я хочу, хотя free total used free shared buffers cached Mem: 491716 385712 106004 0 4872 65548 -/+ buffers/cache: 315292 176424 Link to comment Share on other sites More sharing options...
gabdr Posted April 1, 2012 Author Share Posted April 1, 2012 сделал минификацию Орса, настроил gzip, установил xcache вроде чутьчуть быстрее работает было: total used free shared buffers cached Mem: 491716 385712 106004 0 4872 65548 -/+ buffers/cache: 315292 176424 Стало: total used free shared buffers cached Mem: 491716 357892 133824 0 9932 134760 -/+ buffers/cache: 213200 278516 Swap: 0 0 0 Link to comment Share on other sites More sharing options...
Kerm Posted April 2, 2012 Share Posted April 2, 2012 Если так любишь оптимизировать то почитай про Varnish.. 1 Link to comment Share on other sites More sharing options...
gabdr Posted April 2, 2012 Author Share Posted April 2, 2012 Если так любишь оптимизировать то почитай про Varnish.. чем хорош? вот нашел кое что http://highload.com....B0%D1%80%D1%82/ но про него не оч много в инете я еще заметил если очень часто и длительно время переходить по страницам, в итоге они долго начинают грузиться в один момент Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted April 2, 2012 Share Posted April 2, 2012 gabdr, опубликуй скрин таба Настройка - Быстродействие своего магазина, что-то у меня нехорошее предчувствие Link to comment Share on other sites More sharing options...
Kerm Posted April 2, 2012 Share Posted April 2, 2012 Кто то забыл выключить компиляцию) Кстате не нужен хороший дизайнер и верстальщик? Link to comment Share on other sites More sharing options...
gabdr Posted April 3, 2012 Author Share Posted April 3, 2012 gabdr, опубликуй скрин таба Настройка - Быстродействие своего магазина, что-то у меня нехорошее предчувствие Кто то забыл выключить компиляцию) Кстате не нужен хороший дизайнер и верстальщик? вы что меня за такого неуча считаете? там все как нужно стоит. дело скорее в длительности сессии. или мемкеш перезапускает кеш Link to comment Share on other sites More sharing options...
Kerm Posted April 3, 2012 Share Posted April 3, 2012 У меня вот сейчас другая проблема, я не могу для сайтов на престашопе включить nginx, потому что другие сайты на сервере используют proxy_cache, а настроить работу престы я так и не смог работать через proxy_cache, теряются cockie, вернее они кешируются у первого посетителя и выдаются всем остальным... Link to comment Share on other sites More sharing options...
gabdr Posted April 4, 2012 Author Share Posted April 4, 2012 У меня вот сейчас другая проблема, я не могу для сайтов на престашопе включить nginx, потому что другие сайты на сервере используют proxy_cache, а настроить работу престы я так и не смог работать через proxy_cache, теряются cockie, вернее они кешируются у первого посетителя и выдаются всем остальным... а у тебя хостинг или всд? Link to comment Share on other sites More sharing options...
Kerm Posted April 4, 2012 Share Posted April 4, 2012 всд Link to comment Share on other sites More sharing options...
gabdr Posted April 4, 2012 Author Share Posted April 4, 2012 я вот знаю что нужно буффер увеличить, иначе 502 ошибка везде и всюду будет лезти в престе Link to comment Share on other sites More sharing options...
gabdr Posted April 7, 2012 Author Share Posted April 7, 2012 командой top решил посмотреть загружаемость сервера и ужаснулся 24405 rustam 20 0 39132 19m 3768 R 82.2 4.2 0:02.52 apache2 24416 rustam 20 0 39920 20m 3808 R 39.9 4.4 0:03.90 apache2 24411 rustam 20 0 42108 22m 3828 R 35.9 4.8 0:05.62 apache2 да и еще загрузка ОЗУ увеличилась в 100мб с прошлым разом. мускул и нгинкс почти ничего не жрет. решил окончательно уходить на fсgi, у кого нибудь есть опыт его установки? Link to comment Share on other sites More sharing options...
Kerm Posted April 7, 2012 Share Posted April 7, 2012 Да скорей всего у тебя неправильно настроен сервер или с тюненгом конфига переборщил, предположу что ты без знания дела брал рендомные конфиги найденные в интернете и применял их на своем сервере как попало и поэтому у тебя где то либо слишком мелкие значения, либо слишком высокие или вообще не правельные. У меня на днях были серьезные проблемы с престошопом, да еще совпало с акцией на групоне на этот магаз и возросший трафик только все усугубил. От чего все пришло в норму сказать не могу, так же из-за чего все началось, но мне помогло увеличение значений в nginx конфиге, плюс многократное увеличение значений в my.cnf конфиги мускуля, в частности кэша таблиц, перевод базы с InnoDB на MyISAM(да да вы читали и слышали что InnoDB лучше, но вам не доступны опции проверки, восстановления БД, а если там ошибки? То из-за этого тоже тормозить все может). Так же снизил некоторые параметры конфига апача, таймауты и т.д. Включил CacheFS, сжатие css, html, java. После уменьшил кол-во запросов к апачу и БДm путем снижения кол-во товаров на страницу, убрал блок товары той же категории...еще многие на главную страницу выводят товары и подули с новинками, хитами и т.д., по статистике главная страница сайта самая популярная и разгрузив главную страницу тоже можно убрать нагрузку на сервер. RSS убрал который тоже нафиг не нужен и пользуются ими не так уж и много людей и считаю что для интернет магазина это не нужно, в основном покупатели делают заказ один раз и больше не вернутся обратно, так какой смысл им от RSS..и еще смотря что за аудитория, спросите знакомыч что такое rss, вручили они вам ответят правильно. Link to comment Share on other sites More sharing options...
gabdr Posted April 7, 2012 Author Share Posted April 7, 2012 Да скорей всего у тебя неправильно настроен сервер или с тюненгом конфига переборщил, предположу что ты без знания дела брал рендомные конфиги найденные в интернете и применял их на своем сервере как попало и поэтому у тебя где то либо слишком мелкие значения, либо слишком высокие или вообще не правельные. У меня на днях были серьезные проблемы с престошопом, да еще совпало с акцией на групоне на этот магаз и возросший трафик только все усугубил. От чего все пришло в норму сказать не могу, так же из-за чего все началось, но мне помогло увеличение значений в nginx конфиге, плюс многократное увеличение значений в my.cnf конфиги мускуля, в частности кэша таблиц, перевод базы с InnoDB на MyISAM(да да вы читали и слышали что InnoDB лучше, но вам не доступны опции проверки, восстановления БД, а если там ошибки? То из-за этого тоже тормозить все может). Так же снизил некоторые параметры конфига апача, таймауты и т.д. Включил CacheFS, сжатие css, html, java. После уменьшил кол-во запросов к апачу и БДm путем снижения кол-во товаров на страницу, убрал блок товары той же категории...еще многие на главную страницу выводят товары и подули с новинками, хитами и т.д., по статистике главная страница сайта самая популярная и разгрузив главную страницу тоже можно убрать нагрузку на сервер. RSS убрал который тоже нафиг не нужен и пользуются ими не так уж и много людей и считаю что для интернет магазина это не нужно, в основном покупатели делают заказ один раз и больше не вернутся обратно, так какой смысл им от RSS..и еще смотря что за аудитория, спросите знакомыч что такое rss, вручили они вам ответят правильно. да нет я впринципе все настраивал старался. мускул тюнером сделал. в апач ваще не лез. нгинкс мне настроил админ хостинга. а остальное там несложно. в предыдущей теме увидел. что у вас нгинкс конфиги у всех без гзипа стоят Link to comment Share on other sites More sharing options...
Kerm Posted April 8, 2012 Share Posted April 8, 2012 Блин ну что значит настраивал, старался? Я понимаю там строил, старался или рисовал, старался...я просто по твоему сайту вижу как ты старался, что наверное перестарался скорее, в начале секунд 10 ожидания, а потом страничка неторопливо грузится... Я уже писал выше что тут надо понимать за что каждый параметр отвечает, в каких случаях используется и где его нужно увеличивать либо уменьшать. Тюнер не понацея и настройки для каждого сервера, случая и сайта индивидуальные, а тюнер нужно смотреть для выявлеения явно не правильных настройке конфига, он там показывает преблизительные, средние настройки. Nginx конфиг тоже надо смотреть, не понятно что там за админ и как настраивал и он явно не отслеживал после параметры сайта и как от работает. Правильный конфиг апача тоже на многое влияет, тем более что даже с nginx преста активно его юзает. Про gzip, у меня тогда был слабый сервер, а на слабых конфигах (vps в районе 250-650р в месяц на 1 сайт) его лучше отключать, там создается повышенная нагрузка на проц сервера. Сейчас он у меня включен. Кстате посмотри может у тебя действительно смарти компиляция включена, даже если у тебя все галочки в админке правильные, все равно может идти перекомпиляция каждый раз. Например если запрещена запись на папку смарти... Link to comment Share on other sites More sharing options...
gabdr Posted April 8, 2012 Author Share Posted April 8, 2012 поменял на время тариф на 1Ггц, все равно апач ест 100% на 2х ядрах Link to comment Share on other sites More sharing options...
Pahom-ka Posted April 9, 2012 Share Posted April 9, 2012 Моя любимая тема - оптимизация mysql nginx и прочего. Сейчас приведу примеры обрывков своих конфигов, правда от Mysql-ного смысла вам не будет - он используется на сервере с 8 гигами оперативки, Intel I7 и зеркальным рейдом. Но обо всём по порядку: Nginx, проксирующий запросу на Apache: server { listen 80 ; server_name site.ru www.site.ru; proxy_buffer_size 32k; proxy_buffers 32 32k; client_header_buffer_size 32k; large_client_header_buffers 32 32k; proxy_cache_methods GET HEAD POST; access_log /var/log/ispconfig/httpd/site.ru/access.log; error_log /var/log/nginx/error-site.log; location ~* ^.+.(zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|swf|flv|htm|mp3)$ { root /var/www/site.ru/web; access_log off; expires 30d; } location / { root /var/www/site.ru/web; index index.html index.htm index.php; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; error_log /var/log/nginx/error-site.log; proxy_buffer_size 32k; proxy_buffers 32 32k; } } Nginx, обрабатывающий запросы через php-fpm, включая рерайты: server { listen 80 ; server_name site.ru www.site.ru; access_log /var/log/ispconfig/httpd/site.ru/access.log; error_log /var/log/ispconfig/httpd/site.ru/error.log; root /var/www/site.ru/web; location / { index index.html index.htm index.php; 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 ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last; rewrite "^/lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1" last; rewrite ^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 last; rewrite ^/content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 last; rewrite ^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 last; rewrite ^/([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 last; rewrite "^/lang-([a-z]{2})/(.*)$ /$2?isolang=$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 ^/contacts$ /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 ^/manufacturers$ /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; expires max; } location ~ \.php$ { #expires off; ## Do not cache dynamic content fastcgi_connect_timeout 100000s; fastcgi_read_timeout 1000000s; fastcgi_send_timeout 1000000s; fastcgi_buffer_size 32k; fastcgi_buffers 16 32k; fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME index.php; include fastcgi_params; ## See /etc/nginx/fastcgi_params } } Кстати, можно отдельно для первого варианта конфига дописать правило, позволяющее отдавать все картинки nginx, через rewrite. По оптимизации mysql - могу еще предложить https://launchpad.ne...l-tuning-primer, возможно он покажет что-то новое. И покажите всё-таки конфиг апача и php.ini возможно. Link to comment Share on other sites More sharing options...
gabdr Posted April 9, 2012 Author Share Posted April 9, 2012 мускул и нгинкс меня не беспокоят, только апач Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted April 9, 2012 Share Posted April 9, 2012 на днях буду переносить зоопарк весь на новый сервер, попробую отказаться от апача полностью, заодно вспомню что за грабли там были) Link to comment Share on other sites More sharing options...
Kerm Posted April 9, 2012 Share Posted April 9, 2012 Если активно юзается апач при установленном nginx значит нужно увеличить параметры в последнем, кол-во воркеров там.. А есть конфиг nginx где php как модуль апача стоит? А то везде fcgi cтавят, хотя модуль безопаснее и по тестам довольно шустрый... Вот например статейка http://dev.1c-bitrix.ru/community/blogs/howto/568.php Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted April 9, 2012 Share Posted April 9, 2012 А есть конфиг nginx где php как модуль апача стоит? выше приведен конфиг нжинкса который работает вместе с апачем, отдает статику, пхп там постольку поскольку Link to comment Share on other sites More sharing options...
gabdr Posted April 10, 2012 Author Share Posted April 10, 2012 выше приведен конфиг нжинкса который работает вместе с апачем, отдает статику, пхп там постольку поскольку там и с php-frm есть Link to comment Share on other sites More sharing options...
Kerm Posted April 17, 2012 Share Posted April 17, 2012 Моя любимая тема - оптимизация mysql nginx и прочего. Сейчас приведу примеры обрывков своих конфигов, правда от Mysql-ного смысла вам не будет - он используется на сервере с 8 гигами оперативки, Intel I7 и зеркальным рейдом. Но обо всём по порядку: Nginx, проксирующий запросу на Apache: server { listen 80 ; server_name site.ru www.site.ru; proxy_buffer_size 32k; proxy_buffers 32 32k; client_header_buffer_size 32k; large_client_header_buffers 32 32k; proxy_cache_methods GET HEAD POST; access_log /var/log/ispconfig/httpd/site.ru/access.log; error_log /var/log/nginx/error-site.log; location ~* ^.+.(zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|swf|flv|htm|mp3)$ { root /var/www/site.ru/web; access_log off; expires 30d; } location / { root /var/www/site.ru/web; index index.html index.htm index.php; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; error_log /var/log/nginx/error-site.log; proxy_buffer_size 32k; proxy_buffers 32 32k; } } Nginx, обрабатывающий запросы через php-fpm, включая рерайты: server { listen 80 ; server_name site.ru www.site.ru; access_log /var/log/ispconfig/httpd/site.ru/access.log; error_log /var/log/ispconfig/httpd/site.ru/error.log; root /var/www/site.ru/web; location / { index index.html index.htm index.php; 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 ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last; rewrite "^/lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4" last; rewrite "^/lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1" last; rewrite ^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 last; rewrite ^/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 last; rewrite ^/content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 last; rewrite ^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 last; rewrite ^/([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 last; rewrite "^/lang-([a-z]{2})/(.*)$ /$2?isolang=$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 ^/contacts$ /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 ^/manufacturers$ /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; expires max; } location ~ \.php$ { #expires off; ## Do not cache dynamic content fastcgi_connect_timeout 100000s; fastcgi_read_timeout 1000000s; fastcgi_send_timeout 1000000s; fastcgi_buffer_size 32k; fastcgi_buffers 16 32k; fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME index.php; include fastcgi_params; ## See /etc/nginx/fastcgi_params } } Кстати, можно отдельно для первого варианта конфига дописать правило, позволяющее отдавать все картинки nginx, через rewrite. По оптимизации mysql - могу еще предложить https://launchpad.ne...l-tuning-primer, возможно он покажет что-то новое. И покажите всё-таки конфиг апача и php.ini возможно. А почему у тебя некоторые значения в rewrite находятся в двойных кавычках, а другие нет? 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