Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Saygo

Как увеличить скорость загрузки страниц в IP.Content 2.3.6?

Рекомендованные сообщения

Форум, что называется, "летает", а IP.Content жестоко тормозит. Посоветуйте, пожалуйста, какие настройки могут максимально ускорить его работу?

Поделиться сообщением


Ссылка на сообщение

Что именно тормозит - генерация страницы на сервере или рендеринг исходного кода в браузере?

Если первое - включить логирование sql запросах, посмотреть нет ли медленных запросах, при необходимости сделать профайлинг/дебаг приложения. Самый лучший вариант поставить xdebug - он покажет что и за сколько выполняется в коде.

Если редндеринг страницы - запустить консоль браузера и посмотреть какие запросы затормаживают загрузку страницы. Обычно это все возможные скрипты с сторонних сервисов, большие изображения, и тп.

 

Если речь о форуме из профиля - то там контент уж чересчур долго генерируется. Я с ним не знаком, поэтому не знаю что в нем может влиять на производительность. Что могу посоветовать, так это попробовать отключить по одному хуки которые относится к нему. Тормозить же скорее всего он начал не сразу.

Поделиться сообщением


Ссылка на сообщение

Да, это сайт, который указан в профиле. Он начал тормозить с самого начала, когда начали постепенно вешать статьи. Хуков на IP.Content дополнительных никаких не вешал, там все стоит по умолчанию, только блок новостей с форума немножко сдвинул. Сами статьи довольно большие.

 

Я думаю, надо попробовать для начала базу перегнать в utf-8, может это само по себе поможет ускорить работу.

Поделиться сообщением


Ссылка на сообщение

Я думаю, надо попробовать для начала базу перегнать в utf-8, может это само по себе поможет ускорить работу.

Сама по себе кодировка бд работу не ускорит. Наоборот, однобайтовые кодировки в теории быстрее чем многобайтовые. Да и utf8_general_ci как бы тоже должен быть быстрее utf8_unicode_ci. На форуме в основном все селекты происходят по числовым иденификатором, так что единственное на что может влиять кодировка в этом случае это на обмен данными между клиентом (php) и mysql сервером. Что вы можете выиграть - несколько доли секунд, но не как не целых 30. База у вас и так должна быть в utf8. А тупо "перегоните", вообще можете испортить кодировку.

 

Для начала стоит начать с логов медленных запросов.

На уровне MySQL >= 5.1.12 это можно сделать добавив в секции [mysqld] конфигурационного файла (my.cnf или my.ini) следующие переменные:

 

slow_query_log = 1
long_query_time = 2

На уровне форума, в /initdata.php установить для константы IPS_SQL_FIND_SLOW_MODE время выполнения запросах при котором они будут записаны в логах, например больше 0.5 сек:

 

define( 'IPS_SQL_FIND_SLOW_MODE', 0.5 );

Можете также включить план sql запросов на странице (только для дебага. на продакшене в повседневной работе следует отключить)

 

define( 'IPS_SQL_DEBUG_MODE', 1 );

Поделиться сообщением


Ссылка на сообщение

@Saygo, проблему загрузки я смотрю вы так и не решили?.. Лог медленных запросов или план их выполнения смотрели?

Поделиться сообщением


Ссылка на сообщение
07/06/14 00:14 (изменено)

Пока не решил. В .htaaccess немножко похимичить пробовал с кэшированием и сжатием, форум стал грузиться еще быстрее, а на сайте это особо не сказалось.

Пытаюсь что-то понять, включил лог. Ну например вот пара запросов к сайту (это если я смотрю то, что нужно):

 

==============================================================================
=========================      START       ===================================
========================= /index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67 ===================================
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67
Date: Sat, 05 Jul 2014 23:30:29 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.0056
SELECT * FROM ipbsu_history_cache_store WHERE cs_key IN ( 'systemvars','login_methods','vnums','app_cache','navigation_tabs','module_cache','hooks','useragents','useragentgroups','skinsets','outputformats','skin_remap','group_cache','settings','lang_data','banfilters','stats','badwords','bbcode','mediatag','profilefields','rss_output_cache','rss_export','meta_tags','ipseo_acronyms','ccs_databases','ccs_fields','ccs_menu','report_cache','report_plugins','emoticons','ranks','attachtypes','reputation_levels','ccs_frontpage','moderators','sharelinks' )

+------------------------------------------------------------------------------+
|Table: ipbsu_history_cache_store
|Type: range
|Possible Keys: PRIMARY
|Key: PRIMARY
|Key Len: 767
|Ref: 
|Rows: 37
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67
Date: Sat, 05 Jul 2014 23:30:29 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.00371
SELECT * FROM ipbsu_history_skin_cache WHERE cache_set_id=10 AND cache_type IN ('css', 'replacements')

+------------------------------------------------------------------------------+
|Table: ipbsu_history_skin_cache
|Type: ref
|Possible Keys: cache_type,cache_set_id
|Key: cache_set_id
|Key Len: 4
|Ref: const
|Rows: 64
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67
Date: Sat, 05 Jul 2014 23:30:29 +0000
IP Address: 54.209.98.108
Time Taken: 0.00305
SELECT cache_content FROM ipbsu_history_ccs_template_cache WHERE cache_type='full'

+------------------------------------------------------------------------------+
|Table: ipbsu_history_ccs_template_cache
|Type: ref
|Possible Keys: cache_type
|Key: cache_type
|Key Len: 50
|Ref: const
|Rows: 1
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67
Date: Sat, 05 Jul 2014 23:30:29 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.00088
SELECT * FROM ipbsu_history_ccs_pages WHERE page_folder='' AND page_seo_name='index.html'

+------------------------------------------------------------------------------+
|Table: ipbsu_history_ccs_pages
|Type: ref
|Possible Keys: page_seo_name,page_folder
|Key: page_seo_name
|Key Len: 606
|Ref: const,const
|Rows: 1
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67
Date: Sat, 05 Jul 2014 23:30:29 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.00074
INSERT INTO ipbsu_history_sessions (`id`,`member_name`,`member_id`,`member_group`,`login_type`,`running_time`,`ip_address`,`browser`,`in_error`,`current_appcomponent`,`current_module`,`current_section`,`location_1_type`,`location_1_id`,`location_2_type`,`location_2_id`,`location_3_type`,`location_3_id`,`uagent_key`,`uagent_version`,`uagent_type`,`uagent_bypass`) VALUES('9385316c4bfd9c3f7c02f44ac6c69395','',0,2,0,1404603029,'xx.xxx.xx.xxx','',0,'ccs','','','page',0,'index.html',0,'',0,'__NONE__',0,'',0)

==============================================================================
==============================================================================
=========================        END       ===================================
========================= /index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Brecord=67 ===================================
==============================================================================

==============================================================================
=========================      START       ===================================
========================= /index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive ===================================
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive
Date: Sat, 05 Jul 2014 23:26:10 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.00424
SELECT * FROM ipbsu_history_cache_store WHERE cs_key IN ( 'systemvars','login_methods','vnums','app_cache','navigation_tabs','module_cache','hooks','useragents','useragentgroups','skinsets','outputformats','skin_remap','group_cache','settings','lang_data','banfilters','stats','badwords','bbcode','mediatag','profilefields','rss_output_cache','rss_export','meta_tags','ipseo_acronyms','ccs_databases','ccs_fields','ccs_menu','report_cache','report_plugins','emoticons','ranks','attachtypes','reputation_levels','ccs_frontpage','moderators','sharelinks' )

+------------------------------------------------------------------------------+
|Table: ipbsu_history_cache_store
|Type: range
|Possible Keys: PRIMARY
|Key: PRIMARY
|Key Len: 767
|Ref: 
|Rows: 37
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive
Date: Sat, 05 Jul 2014 23:26:10 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.004
SELECT * FROM ipbsu_history_skin_cache WHERE cache_set_id=10 AND cache_type IN ('css', 'replacements')

+------------------------------------------------------------------------------+
|Table: ipbsu_history_skin_cache
|Type: ref
|Possible Keys: cache_type,cache_set_id
|Key: cache_set_id
|Key Len: 4
|Ref: const
|Rows: 64
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive
Date: Sat, 05 Jul 2014 23:26:10 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.01419
SELECT cache_content FROM ipbsu_history_ccs_template_cache WHERE cache_type='full'

+------------------------------------------------------------------------------+
|Table: ipbsu_history_ccs_template_cache
|Type: ref
|Possible Keys: cache_type
|Key: cache_type
|Key Len: 50
|Ref: const
|Rows: 1
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive
Date: Sat, 05 Jul 2014 23:26:10 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.00109
SELECT * FROM ipbsu_history_ccs_pages WHERE page_folder='' AND page_seo_name='index.html'

+------------------------------------------------------------------------------+
|Table: ipbsu_history_ccs_pages
|Type: ref
|Possible Keys: page_seo_name,page_folder
|Key: page_seo_name
|Key Len: 606
|Ref: const,const
|Rows: 1
|Extra: Using where
==============================================================================
==============================================================================
URL: /index.php/index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive
Date: Sat, 05 Jul 2014 23:26:10 +0000
IP Address: xx.xxx.xx.xxx
Time Taken: 0.0014
INSERT INTO ipbsu_history_sessions (`id`,`member_name`,`member_id`,`member_group`,`login_type`,`running_time`,`ip_address`,`browser`,`in_error`,`current_appcomponent`,`current_module`,`current_section`,`location_1_type`,`location_1_id`,`location_2_type`,`location_2_id`,`location_3_type`,`location_3_id`,`uagent_key`,`uagent_version`,`uagent_type`,`uagent_bypass`) VALUES('7ed6c982ffd7c81dd275cdd04d5373bf','',0,2,0,1404602770,'xx.xxx.xx.xxx','',0,'ccs','','','page',0,'index.html',0,'',0,'__NONE__',0,'',0)

==============================================================================
==============================================================================
=========================        END       ===================================
========================= /index.php?app=ccs&amp%3Bmodule=pages&amp%3Bsection=pages&amp%3Bid=1&amp%3Bcategory=18&amp%3Bview=archive ===================================
==============================================================================

Проблема в том, что у меня даже в школе не было информатики, так что всему приходится учиться методом тыка не отходя от кассы. Чувствую себя Шампольоном перед Розеттским камнем.

Изменено пользователем Saygo

Поделиться сообщением


Ссылка на сообщение

MySQL тут не при чем видимо. Может быть парсеры litres и ozon в режиме риал-тайм работают, без кеширования в базу, на страницах контента?

 

Отключайте блоки поочередно, найдёте "медленные", попробуйте включить кеширование в их базовых настройках. Не получится, привлеките специалиста к их доработке или не используйте просто.

Поделиться сообщением


Ссылка на сообщение

Кеш в htaccess не поможет, если страницы изначально долго генерируются на сервере, с ним или без него вы также будете ждать по пол минуты пока не сгенерируется исходный код интерпретатором. Причину нужно искать на форуме или в коде.

 

Да, с запросами все нормально. Без дебага тут как пальцем в небо. В этом плане xdebug бы сильно помог. Почитайте мануалы, может сможете его поставить если не на сервере то на локалхосте, и там выполнить профайлинг форума.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...