За последние 24 часа нас посетили 17420 программистов и 1683 робота. Сейчас ищут 1025 программистов ...

Оптимизация построения списка (окончание)

Тема в разделе "PHP для новичков", создана пользователем Хулиган, 5 апр 2008.

  1. Хулиган

    Хулиган Активный пользователь

    С нами с:
    4 апр 2008
    Сообщения:
    13
    Симпатии:
    0
    Одна часть вопроса - оптимизация - была решена (тема http://php.ru/forum/viewtopic.php?t=11398).
    Но тему зачем-то закрыли, и поэтому вторая часть вопроса осталась без ответа.
    Вкратце:
    1. Есть три хоста.
    2. Есть неоптимальный код.

    Вопрос: почему один хост реагирует так нервно на неоптимальный код, а два других спокойно переваривают этот код?
    Это проблема серверного ПО, или дело в настройках, или дело в недостаточных ресурсах, выделяемых скрипту?
     
  2. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Хулиган
    Может попробуем поставить метки времени?
     
  3. Хулиган

    Хулиган Активный пользователь

    С нами с:
    4 апр 2008
    Сообщения:
    13
    Симпатии:
    0
    Не понял, зачем?
    Я хочу выяснить не время работы скрипта, а совсем другое (на примере того же прайс-листа):
    Есть масса запросов (~1800). Цифра не малая, и вполне снижаемая к 13 запросам.
    Но почему один хост может обработать эту массу запросов за оч.малое время, а другой хост входит в ступор.
    Если данные не в кэше, то 30 секундная загрузка обеспечена.
    Может есть какие-то настройки mysql, которые не позволяют обрабатывать такое кол-во запросов. Ведь 1800 - по большому счёту не такая и большая величина. И объем получаемых данных по этим запросам невелик.
    Не думаю, что оборудование на хостах разнится по мощность в 30 и более раз.
     
  4. AlexGousev

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

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Самое вероятное объяснение - не кэшируются файлы бд, т.е. при каждом запросе происходит чтение с диска.
     
  5. Хулиган

    Хулиган Активный пользователь

    С нами с:
    4 апр 2008
    Сообщения:
    13
    Симпатии:
    0
    Кеширование естественно сказывается.
    А как быть с тем, что быстрый хост отдает страницу сразу? Даже при первом заходе на страницу?
    Не хранит же он данные в кэше сутками?

    Может проблема медленного хоста в малом объёме памяти?
     
  6. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    или большой загрузке других сайтов (при Виртуалном хостинге)

    ещё вариант ... бинарное логирование мускула - если включено, то чем больше запросов, тем больше потеря времени!


    то-есть проблемы где угодно! :)
     
  7. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ну раз все принялись гадать по кофейной гуще, присоединюсь.

    Моя версия такова: сервер бд и апаче находятся на разных машинах. Следовательно mysql работает не через сокеты, а по соединению :) во как :)
     
  8. Хулиган

    Хулиган Активный пользователь

    С нами с:
    4 апр 2008
    Сообщения:
    13
    Симпатии:
    0
    mysql.hoster.ru - 195.128.50.22
    ip моего сайта - 89.188.101.74

    если я обращаюсь непосредственно на mysql.hoster.ru (из mysql.exe), то ответ получаю сразу, если с моего сайта через скрипт - тормозит.
     
  9. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    сокет - это совокупность ИП адреса и порта. Соответственно, если они на разных машинах - через сокет. Который и есть "соединение".
     
  10. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    antonn
    спасибо