Снижение нагрузки php+mysql

Discussion in 'PHP' started by ch3cker, 13 Mar 2011.

  1. ch3cker

    ch3cker New Member

    Joined:
    12 Mar 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    На сервере установлен nginx который успешно отдает статику и с этим проблем не возникает, но в основном контент динамический и когда количество посетителей в онлайне возрастает, процессы апача множатся пока не заканчивается вся память, и практически каждая страница выполняет по несколько запросов к mysql что тоже снижает производительность.

    Вопросы:
    1. Какие вообще есть методы оптимизации в подобных случаях (кроме оптимизации кода и запросов)?

    2. Часто видел сравнения xCache ,eAccelerator, memcached. Так и не понял толком что для чего предназначено. Посоветуйте чем лучше воспользоваться ? Слышал что xCache не использует TCP соединение и за счет это работает быстрей (если сайт расположен на одном сервере), так ли это ?

    3. На сервере, 4 ГБ RAM, Вполне возможно всю базу держать в оперативке, как лучше это сделать ? Мне в голову приходит только использование MEMORY таблиц в mysql (запись делать в обычные таблицы и триггером их синхронизировать с MEMORY-таблицами, а вся выборка уже из них) насколько удачен такой способ? может быть Вы знаете другие более оптимальные ?

    Еще как вариант хранить БД в tmpfs, но это для меня очень туманная перспектива. И что будет если сервер упадет и данные не успеют сохранится на диске ?

    4. Так же интересны способы оптимизации самих php скриптов (допустим чтобы они держались в памяти а не прогонялись через транслятор каждый раз)

    5. Чем лучше кэшировать результаты запросов к БД?