2013-05-23 2 views
5

У меня есть установка MediaWiki для зарегистрированных пользователей, которые очень медленны (около 2,5 секунд на запрос) Я прошел все шаги кэширования и оптимизации, которые я нашел. Я использую APC с конфигурацией по умолчанию, и поскольку я не нашел никаких улучшений, я запустил профилирование медиавиков, но я не полностью не понял выход.Интерпретация вывода профилирования MediaWiki

Выход из файла forceprofile выглядит следующим образом.

100.00% 2.475774  1 - -total 
90.51% 2.240709  1 - Setup.php 
89.56% 2.217199  1 - Setup.php-session 
88.85% 2.199760 163 - LoadBalancer::getConnection 
88.64% 2.194557 163 - LoadBalancer::openConnection 
88.43% 2.189371  2 - DatabaseMysql::open 
88.38% 2.188186  2 - dbconnect-localhost 
    8.02% 0.198664  1 - MediaWiki::main 
    6.15% 0.152351  1 - MediaWiki::finalCleanup 
    5.25% 0.129948  1 - OutputPage::output 
    5.21% 0.128936  1 - Output-skin 
    5.20% 0.128861  1 - SkinTemplate::outputPage 
    3.28% 0.081173 186 - DatabaseBase::query 
    2.64% 0.065307  1 - SkinTemplate::outputPage-stuff5 
    1.99% 0.049177  4 - query: COMMIT 
    1.82% 0.044994  1 - MediaWiki::performRequest 
    1.67% 0.041237  1 - MediaWiki::performAction 
    1.66% 0.041093  1 - Article::view 
    1.56% 0.038637 108 - LocalisationCache::getSubitem-load 
    1.41% 0.034958  1 - SkinTemplate::outputPage-execute 
    1.09% 0.026959  1 - Skin::buildSidebar 
    1.04% 0.025770  41 - Linker::titleAttrib 
    rest below 1% 

выход в журнале профилирующего выглядит:

Profiling data 
    Name                   Calls   Total   Each    %  Mem 
    -total                   1  2530.972  2530.972  100.000% 5801152 ( 2530.972 -  2530.972) [0] 
    Setup.php                  1  2269.201  2269.201  89.657% 1230737 ( 2269.201 -  2269.201) [65] 
    Setup.php-session                1  2246.935  2246.935  88.778% 312683 ( 2246.935 -  2246.935) [26] 
    LoadBalancer::getConnection             166  2213.220  13.333  87.445% 292024 (  0.005 -  1117.286) [178] 
    LoadBalancer::openConnection             166  2211.142  13.320  87.363% 286279 (  0.001 -  1117.276) [12] 
    DatabaseMysql::open                2  2208.200  1104.100  87.247%  13050 ( 1092.796 -  1115.404) [10] 
    dbconnect-localhost                2  2207.259  1103.630  87.210%  12544 ( 1092.338 -  1114.922) [0] 
    MediaWiki::main                 1  222.392  222.392   8.787% 2675660 (  222.392 -  222.392) [1486] 
    MediaWiki::finalCleanup               1  134.699  134.699   5.322% 1284487 (  134.699 -  134.699) [981] 
    DatabaseBase::query               202  117.272   0.581   4.633% 342809 (  0.079 -  32.658) [206] 
    OutputPage::output                1  108.740  108.740   4.296% 1280174 (  108.740 -  108.740) [956] 
    Output-skin                  1  103.328  103.328   4.083% 1087262 (  103.328 -  103.328) [953] 
    SkinTemplate::outputPage               1  103.267  103.267   4.080% 1131051 (  103.267 -  103.267) [952] 
    query: COMMIT                 7  87.476  12.497   3.456%  432 (  6.541 -  32.651) [0] 
    MediaWiki::performRequest              1  85.917  85.917   3.395% 1272664 (  85.917 -  85.917) [503] 
    MediaWiki::performAction               1  81.878  81.878   3.235% 1184620 (  81.878 -  81.878) [483] 
    Article::view                 1  59.397  59.397   2.347% 679673 (  59.397 -  59.397) [258] 
    SkinTemplate::outputPage-stuff5             1  55.888  55.888   2.208% 456139 (  55.888 -  55.888) [400] 
    LocalisationCache::getSubitem-load            107  28.478   0.266   1.125%  54868 (  0.240 -  0.468) [428] 
    -overhead-total                1570  27.168   0.017   1.073% 1076064 (  27.168 -  27.168) [1570] 
    SkinTemplate::outputPage-execute             1  26.111  26.111   1.032%  30494 (  26.111 -  26.111) [398] 
    DeferredUpdates::doUpdates              1  25.015  25.015   0.988%  377 (  25.015 -  25.015) [16] 
    Skin::buildSidebar                1  21.318  21.318   0.842%  81176 (  21.318 -  21.318) [218] 
    ParserCache::get                 1  19.755  19.755   0.781%  1585 (  19.755 -  19.755) [22] 
    DynamicSidebar::modifySidebar             1  18.910  18.910   0.747%  69284 (  18.910 -  18.910) [192] 
    Linker::titleAttrib                40  18.445   0.461   0.729%  76664 (  0.041 -  1.041) [313] 
    CategoryViewer::getHTML               1  17.666  17.666   0.698% 244568 (  17.666 -  17.666) [218] 
    query: SELECT lc_value FROM `wiki_lNn_cache` WHERE lc_lang = 'X' LIMIT N  129  15.079   0.117   0.596% 240757 (  0.086 -  0.513) [2] 
    LocalisationCache::getItem-load             16  13.923   0.870   0.550% 272404 (  0.259 -  5.256) [100] 
    SkinTemplate::outputPage-stuff4             1  11.899  11.899   0.470% 330753 (  11.899 -  11.899) [62] 
    Setup.php-globals                1  11.758  11.758   0.465% 567318 (  11.758 -  11.758) [24] 
    -overhead-internal               1570  11.512   0.007   0.455% 351680 (  0.006 -  0.046) [0] 
    ResourceLoader::makeModuleResponse            2  11.067   5.533   0.437% 238877 (  4.679 -  6.388) [36] 

Я не знаю, почему мой setup.php, loadbalancer и БД это медленно? Кто-нибудь советует улучшить выполнение этих вещей.

редактировать: Я изменил обратно в конфигурацию без кэширования и профилирование вывода выглядит следующим образом:

Profiling data 
Name                   Calls   Total   Each    %  Mem 
-total                   1  2264.308  2264.308  100.000% 18818800 ( 2264.308 -  2264.308) [0] 
LoadBalancer::getConnection             171  1914.577  11.196  84.555% 873694 (  0.010 -  969.956) [183] 
LoadBalancer::openConnection             171  1912.571  11.185  84.466% 863369 (  0.002 -  969.939) [12] 
DatabaseMysql::open                2  1904.139  952.070  84.094%  13043 (  941.427 -  962.713) [10] 
dbconnect-localhost                2  1903.117  951.559  84.049%  12576 (  940.917 -  962.201) [0] 
MediaWiki::main                 1  1168.946  1168.946  51.625% 8339081 ( 1168.946 -  1168.946) [1546] 
MediaWiki::performRequest              1  1052.551  1052.551  46.484% 4786767 ( 1052.551 -  1052.551) [728] 
SpecialPageFactory::executePath             1  1047.566  1047.566  46.264% 4567696 ( 1047.566 -  1047.566) [717] 
Setup.php                  1  1045.216  1045.216  46.160% 7760889 ( 1045.216 -  1045.216) [55] 
Special:Version                 1  1044.117  1044.117  46.112% 4018885 ( 1044.117 -  1044.117) [716] 
Setup.php-globals                1  1011.005  1011.005  44.650% 4713595 ( 1011.005 -  1011.005) [30] 
LocalisationCache::getItem-load             15  990.768  66.051  43.756% 1424628 (  0.265 -  979.699) [102] 
MessageCache::load                1  943.255  943.255  41.658%  14271 (  943.255 -  943.255) [14] 
MessageCache::load-fromcache              1  942.883  942.883  41.641%  13740 (  942.883 -  942.883) [13] 
MediaWiki::finalCleanup               1  115.499  115.499   5.101% 3464276 (  115.499 -  115.499) [816] 
OutputPage::output                1  113.857  113.857   5.028% 3377273 (  113.857 -  113.857) [809] 
Output-skin                  1  102.706  102.706   4.536% 2424168 (  102.706 -  102.706) [806] 
SkinTemplate::outputPage               1  102.656  102.656   4.534% 2464206 (  102.656 -  102.656) [805] 
SkinTemplate::outputPage-stuff5             1  58.550  58.550   2.586% 1731893 (  58.550 -  58.550) [346] 

ответ

1

Из данных профилирования вы публикуемые, очевидно, что виновник является соединение DB открытым, который зверски медленно, запросы они, кажется, работают достаточно быстро. Почему это происходит интересный вопрос:

  • Вы не упомянули, если ваша вики уже общественности и получает трафик или вы его только пользователю банкомата?
  • Является ли MySQL уже перегруженным для причинам, не связанным с MediaWiki (например, поскольку это общий хост)?
  • Возможно, ваш max_connections вашего MySQL слишком низок, и он работает на холостом ходу , в то время как клиенты отчаянно ждут в линии, которая будет подключена?
+0

Привет, спасибо за ответ. В настоящее время wiki используется максимум 2-5 пользователями. Экземпляр MySQL в большинстве случаев простаивает, но его общий хост. Я проверю max_connections, когда вернусь в офис, спасибо за подсказку. – Georg

+0

@Georg, это работало? – Nemo

+0

, к сожалению, нет, он оставался таким же медленным, как раньше. позже мы переключились на использование Confluence вместо MediaWiki – Georg

Смежные вопросы