1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.
  2. Уважаемые пользователи!

    Если Вы ищите исполнителя и Вам обещают выполнить работу, но при этом требуют предоплату, будьте осторожны. Администрация не советует связываться с людьми, не имеющими толком на этом форуме сообщений, репутации, портфолио.

    Судя по всему, не каждому данные вещи очевидны, поэтому просто напоминаем - будьте бдительны!

Оптимизация сервера, базы MySQL

Тема в разделе "Есть работа. Ищу специалиста. Оплату гарантирую", создана пользователем Pavel, 02.10.2010.

Загрузка
  1. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Оптимизация сервера, базы MySQL

    Пока нет соответствующего раздела, размещу здесь.

    Имеется:

    1. Несколько серверов, достаточно мощных. Все на Linux
    2. На них размещен форум vBulletin с большой базой

    Нужно:

    1. Очень осторожно оптимизировать базу
    2. Настроить оптимально nginx
    3. Предложить еще варианты по оптимизации сервера (уменьшение траффика и нагрузки)

    Оплата:
    По договорености. Не обижу :)

    В перспективе:
    При нормальном развитии XenForo - переходим на новый движок

    Обращаться в личку. По рекомендациям от Романа
     
  2. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
  3. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    А на русском? :)
     
  4. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    :) Сорри. Спрос маловат. Не хочется время тратить на перевод. Статья не для новичков, а опытный сисадмин должен знать английский.
     
  5. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Спасибо. Многие вещи очевидные. Вот этот скрипт интересен:

    PHP:
    <?php
     
    //Change  the following line depending on  where you placed this script.
    require_once  (dirname(__FILE__) .  '/../www/includes/config.php');
     
    ini_set("memory_limit",  "50M");
    set_time_limit(0);
     
    //Connecting  DB
    mysql_connect($config['MasterServer']['servername'],   $config['MasterServer']['username'],
     
    $config['MasterServer']['password']) or die(mysql_error());
    mysql_select_db($config['Database']['dbname'])   or die(mysql_error());
     
    $sql 'SHOW  TABLES';
    $alltables  mysql_query("$sql") or die(mysql_error());
    while  (
    $table  mysql_fetch_assoc($alltables))
    {
     foreach (
    $table as $db =>  $tablename) {
     
    mysql_query("OPTIMIZE TABLE  `".$tablename."`;") or die(mysql_error());
     
    sleep(10); //Let  some queries to execute to lower forum load
     
    }
    }
    Сможете кратко суть описать?
     
  6. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Да он просто OPTIMIZE TABLE выполняет на всех таблицах VB. В админке есть аналогичная функция. Просто ее по планировщику не вызвать.
     
  7. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Для большой посещаемости и большой базы выполнение OPTIMIZE TABLE занимает много времени...
     
  8. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Да. И таблицы при его выполнении блокируются. Поэтому, если ставить в планировщик - то на ноч.
     
  9. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    FractalizeR, проблема очень крупных форумов, что иногда на них даже ночью довольно большое количество пользователей онлайн. Для средних форумов подойдет ставить по крону оптимизацию.

    Из практики значительный прирост скорости дает полный отказ от апача и переход на fastcgi php + nginx + хак для булки использующий возможности nginx-а
    Ну слишком много памяти ест апач - лучше ее отдать мускулю :)
     
  10. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    А как бы Вы решили вопрос с распределением нагрузки? Скажем есть 3 сервера и один форум. Есть смысл MySQL ставить на один, Apache на 2-й а контент на третий?

    И как Вы бы распределили нагрузку?

    Спасибо
     
  11. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Все действительно зависит от конкретных форумов. сначала надо смотреть что именно тормозит на форуме и искать узкие места, а потом решать стоит ли что-то выносить на отдельный сервер.
    Иногда вынос на отдельный сервер может даже замедлить работу форума (редко конечно, но есть варианты).
    PHP(апач) в принципе не должен много отъедать если все правильно настроено и нет кривых хаков. Основная нагрузка на крупном форуме обычно - это база. Вложения тоже можно отдавать довольно быстро при правильной настройке.
    Если часто используется поиск, то имеет смысл прикрутить какой-либо нормальный полнотекстовый поиск, типа sphinx-а (правда готовое качественное решение под 3-ку булки стоит 1.9К у.е. :D, хотя можно и бесплатным решением пользоваться, хотя там есть пара недоработок )
     
  12. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Про sphinx читал, что не всегда он идеален :) мягко говоря
     
  13. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    У сфинкса есть недостатки, но они явно перекрываются скоростью его работы (и недостатки больше связаны с некторым неудобством работы в определенных ситуациях, но точно не с глючностью или скоростью работы).
    Главное знать как его готовить.
    А сфинкс все еще развивается и теперь у него есть реалтайм индекс, т.е. можно обойтить без дельта индексов (инкрементных) и не надо постоянно делать реиндексацию.

    На базе плагина для сфинкса можно прикрутить ту же Tokio Dystopia.
     
  14. Rpsl

    Rpsl Активный пользователь

    Регистрация:
    05.10.10
    Сообщения:
    20
    Симпатии:
    8
    есть опыт работы по всем пунктам. можем пообщаться в личке.

    p.s. долго. дорого. [ой].
     
    PGP нравится это.
  15. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Тёма? Палитесь :)
     
    PGP нравится это.
  16. Юрий Ков

    Юрий Ков Активный пользователь

    Регистрация:
    15.04.11
    Сообщения:
    36
    Симпатии:
    2
    а в связке cgi php + nginx без апача файл .htaccess разве работает? ведь он нужен обычно для ЧПУ
     
  17. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    ЧПУ прекрасно настраиваются и на nginx-е
     
  18. Юрий Ков

    Юрий Ков Активный пользователь

    Регистрация:
    15.04.11
    Сообщения:
    36
    Симпатии:
    2
    а в связке cgi php + nginx без апача файл .htaccess разве работает?
     
  19. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    А вам конкретно надо htaccess под nginx? Или хватит того, что можно nginx по аналогии настроить?
     
  20. Юрий Ков

    Юрий Ков Активный пользователь

    Регистрация:
    15.04.11
    Сообщения:
    36
    Симпатии:
    2
    а можно ссылку как настраивать, чтобы заработал рерайт на nginx?
     

Поделиться этой страницей