Оптимизация social engine (разгон)

Тема в разделе "Социальные сети", создана пользователем ManCuniAn, 20 авг 2009.

Статус темы:
Закрыта.
Модераторы: arman29
  1. ManCuniAn

    ManCuniAn

    Регистр.:
    5 фев 2009
    Сообщения:
    269
    Симпатии:
    32
    Вот задумался над нагрузкой на сервер от Se...В последнее время начинает грузиться

    Как оптимизировать код? Какие скрипты использовать?
    Вот у меня 30 запросов с главной, и профиль 50 запросов в базу...Это хорошо?:confused:
     
  2. house2028

    house2028 Создатель

    Регистр.:
    12 май 2009
    Сообщения:
    20
    Симпатии:
    0
    ну эт еще скромно.... у мя с главной 60 запросов... а из профеля... 250.... и это напрягает...
     
  3. Noikudo

    Noikudo Постоялец

    Регистр.:
    22 июн 2007
    Сообщения:
    112
    Симпатии:
    16
    Что вы на количество запросов смотрите. Смотрите на время генерации страницы. Если оно большое, тогда стоит посмотреть сколько времени исполняются запросы.
    Я писал скрипт один. Мне нужно было распарсить ооочень много. Итоговое количество запросов больше тысячи. Время генерации страницы 50 секунд. Долго думал в чём дело. Начал проверять. Оказалось, что из 50 секунд 49,7 приходится на загрузку страницы для парсинга. То есть на 1000 запросов и большое колчество циклов уходит всего 0.3 секунды.
    Но запрос запросу рознь... Так что мерьте в секундах, а не штуках.
     
  4. fnatic

    fnatic Создатель

    Регистр.:
    31 мар 2009
    Сообщения:
    22
    Симпатии:
    0
    А как узнать сколько и откудова и на что идут запросы !?
     
  5. TooPro

    TooPro Создатель

    Регистр.:
    21 мар 2009
    Сообщения:
    19
    Симпатии:
    1
    30-50 запросов на самом деле не так уж и много, если нормальный сервак и БД находится на нем же(хост базы localhost), а не приходится подключаться к отдельному серваку (хост типа mysql8.hoster.com). у меня был последний случай раз, ждал чуть ли не минуту, переехал на другой хостинг - и все стало на свои места.

    Узнать запросы и куда идут и сколько времени занимают:
    судя по коду в "include/class_database.php" сам движок считает время затраченное на запросы, даже выделяет их цветом в общем списке всех запросов, если сбор статистики по запросам включен... но вот в админке я не нашел где это активировать и смотреть логи БД :(

    Кэширование
    Можно увеличить время кэширования, выбрать нужный тип из двух предложенных.

    Оптимизация БД для гуру
    Если кто-то криворукий писал модули и недоработал структуру БД, то может в некоторой степени помочь правильное расставление индексируемых полей.
     
  6. proMilk

    proMilk Создатель

    Регистр.:
    22 авг 2008
    Сообщения:
    28
    Симпатии:
    1
    у меня 25000 пользователей, ну и грузиться норма =)))
    а так базу своими ручками оптимизировал...
    попробуйте поэкспериментируйте, да и скоро 4 версия СЕ так что будет все быстрее пахать намного =)
     
  7. samdocua

    samdocua

    Регистр.:
    15 дек 2008
    Сообщения:
    253
    Симпатии:
    3
    это откуда такая информация, что все пахать будет быстрее. из официальных источник(написать можно все что хочеш) или догадки просто такие?
     
  8. Hanckok

    Hanckok Создатель

    Регистр.:
    13 июл 2009
    Сообщения:
    17
    Симпатии:
    6
    А как узнать сколько запросов на какой странице?
     
  9. ManCuniAn

    ManCuniAn

    Регистр.:
    5 фев 2009
    Сообщения:
    269
    Симпатии:
    32
    1.) Статистика №1 - время выполнения скрипта.
    Открываем header.php
    после
    <?php

    ставим
    $timer_start = microtime();


    открываем footer.php
    перед
    exit();
    ?>


    Ставим
    $timer_end = microtime();
    $timer_total = round($timer_end-$timer_start, 7);
    echo "\n<!-- Страница сгенерирована за ".$timer_total." секунд-->\r\n";


    2.) Статистика №2 - Количество SQL запросов

    Открываем include/class_database.php

    после
    var $_last_query;


    ставим:

    var $_count_of_queries;


    после
    // OUTPUT: RETURNS A DATABASE QUERY RESULT RESOURCE
    function database_query($database_query)
    {


    ставим:

    $this->_count_of_queries++;


    ____
    Открываем footer.php
    перед

    exit();
    ?>

    ставим
    echo "\n<!-- SQL запросов сделано: ".$database->_count_of_queries." -->\r\n";
     
    Hanckok нравится это.
  10. proMilk

    proMilk Создатель

    Регистр.:
    22 авг 2008
    Сообщения:
    28
    Симпатии:
    1
    Ну как сказать все хотят сделать облегченым, ну гадать эт дело канеш хорошее, но ожидаюю лучшего =)))
     
Статус темы:
Закрыта.