We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31268
    • 111 Posts
    В админке 5-10 манагеров делают одновременное обновление информации (запись в редакторе).
    И тут приходят ВЕЛИКИЕ ТОРМОЗА!!!!
    Где, что подточить, чтобы ускорить работу?
      Discere ne cesses
      • 26744
      • 157 Posts
      Quote from: Vampire at May 24, 2010, 01:39 AM

      В админке 5-10 манагеров делают одновременное обновление информации (запись в редакторе).
      И тут приходят ВЕЛИКИЕ ТОРМОЗА!!!!
      Где, что подточить, чтобы ускорить работу?
      А сколько уходит времени на обработку страницы (время работы PHP, MySQL)?
      Чувствуется я столкнусь с такой же проблемой. Раньше (при работе 4 менедежеров не замечал тормоза)
        • 785
        • 2,113 Posts
        В чем конкретно тормоза и в какие моменты? Если они не сохраняют что-то одновременно, то тормозов не должно быть, или должны быть и при работе одного менеджера. А заголовок «MySQL Update - Table lock» вообще непонятен, так как таблица не блокируется при обновлении записей, разве что кто-то сдуру постоянно оптимизирует ее.
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 31268
          • 111 Posts
          Таблица возможна лочится при insert - пользователи активно добавляют страницы
          общий размер таблицы (site_content) превышает 70 мб

          Вот обычное состояние mysql :
          | Table_locks_immediate | 1287742 |
          | Table_locks_waited | 206 |
          | Tc_log_max_pages_used | 0 |
          | Tc_log_page_size | 0 |
          | Tc_log_page_waits | 0 |
          | Threads_cached | 29 |
          | Threads_connected | 3 |
          | Threads_created | 39 |
          | Threads_running | 3 |

          В очереди как правило - 5 и более запросов

          "Тормоза" - от 2-х до 10 сек. при добавлении нового документа. В этот же момент - отображение данных с сайта - так же курит в очереди.

          Пробовал играться с настройками mysql - как шаман с бубном :

          key_buffer = 64M
          max_allowed_packet = 16M
          thread_stack = 128K
          thread_cache_size = 32
          query_cache_limit = 1M
          query_cache_size = 32M

          Трудно сказать - полегчало или нет, в один момент все начинало работать быстро, потом все скатывалось обратно.
          Тоже самое и с увеличением памяти...

          Мучит меня смутное подозрение, что это связано с размером таблицы - размером соответствующего файла на диске, расположенного на виртуальной машине (vmware).
            Discere ne cesses
            • 785
            • 2,113 Posts
            Можно попробовать сменить тип таблиц с MyISAM на InnoDB, если проблема действительно в блокировке (чтобы блокировалась не таблица целиком, а строка), но я не думаю, что проблема именно в этом. По сравнению с 1287742 значение 206 незначительно, то есть в подавляющем большинстве случаев блокировки выполняются без задержек. Кроме того, не факт, что все блокировки именно от менеджеров – ряд сниппетов также могут писать информацию в таблицы и вызывать блокировки.
            Вообще не уверен, что 10 редакторов могут существенно нагрузить систему. Все же большее время они подготавливают текст, и только потом сохраняют – вероятность, что несколько нажали в один и тот же момент на кнопку сохранения достаточно мала.
            Другое дело, что при таком наполнении в таблице быстро появится большое количество записей, а MODx плохо подходит для этого. То есть, возможно, проблема не в одновременной работе нескольких менеджеров, а в общем размере сайта – сколько сейчас на нем страниц?
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 31268
              • 111 Posts
              Общее количество страниц перевалило за 6 тыс
              Я конечно понимаю, что для modx это чересчур, но менять на другое - нет возможности
              Тем более до того как был сделан выбор в пользу modx - пробовал и жумлу и друпал, которые кстати при таком количестве страниц также чувствуют себя не уютно
              Опять так, подчеркну, что тормоза начинаются именно в момент обновления сайта
              При отдаче контента картина такая:
              <!--
              0,3558 s - время на запросы к базе данных
              37 - запросов к базе данных
              2,1203 s - время на работу PHP скриптов
              2,4761 s - общее время на генерацию страницы
              database - источник содержимого
              -->
                Discere ne cesses
                • 785
                • 2,113 Posts
                Quote from: Vampire at May 26, 2010, 04:00 AM

                2,1203 s - время на работу PHP скриптов
                Это очень много, наверняка что-то сделано не слишком оптимально, и можно улучшать (6000 страниц – не так уж и много). Часто бывает достаточно внести исправления в Wayfinder. При обновлении, наверное, проблемы не при добавлении в базу, а при очистке кэша. Надо попробовать не чистить кэш каждый раз при добавлении и посмотреть, что изменится. Возможно, надо будет всем добавлять страницы, но не публиковать, а потом кто-то один все их опубликует и вручную почистит кэш.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 31268
                  • 111 Posts
                  Quote from: AKots at May 26, 2010, 05:34 AM

                  Quote from: Vampire at May 26, 2010, 04:00 AM

                  2,1203 s - время на работу PHP скриптов
                  Это очень много, наверняка что-то сделано не слишком оптимально, и можно улучшать (6000 страниц – не так уж и много). Часто бывает достаточно внести исправления в Wayfinder. При обновлении, наверное, проблемы не при добавлении в базу, а при очистке кэша. Надо попробовать не чистить кэш каждый раз при добавлении и посмотреть, что изменится. Возможно, надо будет всем добавлять страницы, но не публиковать, а потом кто-то один все их опубликует и вручную почистит кэш.


                  Где и что править в вайфайндере? Есть ли какие нибудь наметки?
                  При добавлении чистится весь кеш документов?? o_O
                  даже и не знаю, что в этом случае делать - пользователи у меня в разных группах, кои меж собой никак не пересекаются и не общаются, в следствии чего зачастую есть необходимость немедленной публикации...
                    Discere ne cesses
                    • 785
                    • 2,113 Posts
                    Quote from: Vampire at May 26, 2010, 07:41 AM

                    При добавлении чистится весь кеш документов?? o_O
                    А как иначе? Практически невозможно определить, на каких страницах требуется обновить информацию – может на всех, так как везде есть меню и в него надо добавить новый пункт, может на одной, где выводится анонс новых страниц, а может вообще не надо обновлять. Универсальный алгоритм разработать очень сложно, так что приходится или чистить всегда или никогда не чистить, делая это вручную. А при 6000 документов очистка (то есть не сама очистка, а формирование новых данных) занимает много времени.

                    Wayfinder, если используется hideSubMenus, все равно читает в память все записи из таблицы, после чего отбирает нужные. На больших сайтах задержка может быть достаточно велика. Исправление выкладывалось на этом форуме несколько раз (если hideSubMenus не используется, выигрыша не будет). Если не найдете, оно описано на моем сайте (в подписи) в статье об исправлениях в MODx 1.0.3.
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации