подскажите по поводу нагрузки.

Discussion in 'PHP' started by justonline, 6 Mar 2012.

  1. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    доброе время суток.

    Пишу некоторый проект.
    Мне стал интересен один момент.
    1) Есть страница content.php и при передачи параметра в урл можно отобразить содержимое из таблицы blog или news.
    2) Есть две страницы blog.php и news.php

    С точки зрения нагрузок на сервер, какой вариант будет выполняться быстрее? первый или второй.
    Прошу высказать мнение не теоретиков и угостить ссылочкой. И вообще не откажусь от литературы
    той тематики.
     
  2. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ну логично, что медленнее будут выполняться два запроса вместо одного.
     
  3. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    вот по-этому я и прошу высказываться не теоретиков. я например слышал, что php больше любит один большой файл, чем кучу маленьких. но это я лишь слышал)
    хочется услышать наших "Зеленых" кодеров)
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    И в первом и во втором варианте надо всего 1 раз вытащить инфу из базы. В чем вопрос вообще?
     
    #4 banned, 6 Mar 2012
    Last edited: 6 Mar 2012
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Как бы помягче объяснить...
    Понятно, что 10 действий в одном скрипте выполнятся быстрее, чем по 5 в каждом из двух скриптов. Но проблема же в другом, как часто будут обращаться к каждому из этих двух скриптов :confused:
     
  6. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    я не имею ввиду нагрузку на базу.
    Допустим 100500 онлайна. и все постоянно переходят между одной и другой страничкой, то где нагрузка будет меньшей? :) выполнение одного файла в 1мб или двух по 0.5?
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Причем тут размеры файлов вообще?
     
  8. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ну, а голову подключить?
    100 раз за минуту откроют общую страницу которая выполнится, скажем за 10 миллисекунд.
    Или 50 раз за минуту откроют каждую из страниц, каждая из которых выполнится за 6 миллисекунд?
     
  9. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    окай
     
  10. InSys

    InSys Member

    Joined:
    2 Feb 2012
    Messages:
    24
    Likes Received:
    20
    Reputations:
    31
    Если я правильно понял человек спрашивает есть ли разница в нагрузке между обработкой:
    • один большой скрипт который генерирует нужную страницу в зависимости от входящих параметров (допустим "?act=news" или "?act=blog")
    • несколько маленьких скриптов (допустим news.php или blog.php)
    И вы не поверите, но разница есть! Не воспринимайте это как бред сумасшедшего, я объясню почему. Допустим один большой скрипт:
    PHP:
    <?php
    switch($_GET['act']){
      case 
    'blog':
        
    //Ваш код для акшиона 'blog'
        
    break;

      case 
    'news':
        
    //Ваш код для акшиона 'news'
        
    break;

      
    //пара десятков других акшионов
    }
    ?>
    Чтобы выполнить всего лишь один акшион, интерпретатору необходимо прочитать с жесткого диска ВЕСЬ файл, и затем ВЕСЬ файл распарсить. То есть необходимо будет распарсить весь код данного скрипта, даже акшионов, не нужных нам в данный момент.

    Или прочитать и распарсить всего лишь вот такой вот файлик blog.php
    PHP:
    <?php
    //Ваш код файла блог
    ?>
    Лишние данные с жесткого диска не читаем, лишний код не парсим, получаем выйгрыш в скорости.

    Ну а теперь от теории к практике. Жизненные реалии таковы что разница между данными подходами в скорости несущественна (максимум тысечные доли секунды), если только первый скрипт не весит хотябы начиная от мегобайта.
     
    #10 InSys, 6 Mar 2012
    Last edited: 6 Mar 2012