The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Apache tunning how to?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Apache tunning how to?" 
Сообщение от onorua Искать по авторуВ закладки(ok) on 13-Апр-05, 21:37  (MSK)
Здравствуйте! Мне поставили задачу, как обычно, которую нужно было решить на прошлой неделе:).
Я сделаю отступление для лучшего представления ситуации. Есть php скрипт, который отдает баннеры, а именно oasis (http://www.oasispros.com). Он работает на апаче сами баннеры берет из мускула. Все это грузит двухголовую машину на ксеонах... При этом всем нагрузка днем (при максимальном веб-серфинге) не падает ниже 80% процентов, что являеться не очень хорошой новостью, иногда нагрузка доростает до 99% (при пиковых нагрузках). Как можно избежать таких диких нагрузок?
#----------------------------------------------------------
Есть несколько вариантов которые я вижу:
1. Пересобрать все с какими-то ключами оптимизации... но! Я не знаю точно с какими ключами было собрано до меня. По не достоверным источникам - собрано по-дефолту.
2. Найти более простой веб-сервер, который может отображать картинки и выполнять php-скрипты.
Если кто-то знает хоть что-то в этом направлении, или знает куда меня отправить - буду очень благодарен за любую помощь.
Зарание благодарен.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Apache tunning how to?" 
Сообщение от Асен Тотин emailИскать по авторуВ закладки on 14-Апр-05, 01:08  (MSK)
Привет,

Apache - 1 или 2? Есть ли директория с исходниками, из которых был собран Apache?

Что показывает "\s" на консоли MySQL?

WWell,

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Apache tunning how to?" 
Сообщение от Аноним Искать по авторуВ закладки on 14-Апр-05, 05:52  (MSK)
Поищите в новостях? здесь почти каждую неделю проскакивают советы по оптимизации апача. Плюс поиск по сайту "apache tuning"
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Apache tunning how to?" 
Сообщение от z Искать по авторуВ закладки(??) on 14-Апр-05, 08:37  (MSK)
Здравствуйте!

> Он работает на апаче сами баннеры берет из мускула.
Если я вас правильно понял, сами изображения храняться в базе данных.
1. Могу посоветовать хранить изображения на диске как обычные файлы,
а в базе данных хранить пути к ним (веб сервера "лучше" "отдают" такие данные). Думаю для этого потребуется лишь небольшое изменение PHP скрипта.
2. Возможно имеет смысл использовать "connection pull" для того чтобы минимизировать время затрачиваемое на подключение к базе данных.

Что-то более конкретно посоветовать трудно, так как не знаю как у вас всё реализовано.

Удачи.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Apache tunning how to?" 
Сообщение от uldus Искать по авторуВ закладки(ok) on 14-Апр-05, 08:47  (MSK)
>баннеры, а именно oasis (http://www.oasispros.com). Он работает на апаче сами баннеры
>берет из мускула. Все это грузит двухголовую машину на ксеонах...

Неудивительно, отдавать баннеры из MySQL, это, IMHO, безнадежно кривое решение. Спасет только замена на новый скрипт крутилки, от другого производителя.

Для улучшения текущего состояния поможет тюнинг MySQL и использование еще одного apache с mod_accel или nginx как фронтенда.


>1. Пересобрать все с какими-то ключами оптимизации... но! Я не знаю точно
>с какими ключами было собрано до меня. По не достоверным источникам
>- собрано по-дефолту.

Забудь. получишь 0.1% прирост производительности.

>2. Найти более простой веб-сервер, который может отображать картинки и выполнять php-скрипты.

Проблема в дерганье на каждый запрос MySQL, если клиент медленный, процессы будут простаивать впустую. mod_accel позволит хоть как-то снизить нагрузку за счет буферизации запросов и кеширования, но подоздеваю, что скрипт не просто выдерает картинку из таблицы, а еще апдейтит эту же таблицу, т.е. каждый раз копирует картинку на диске, такова логика - update - это тотже insert, но с переносом данных. Выдирает MySQL быстро, а вставляет и изменяет ой как медленно. Спасет переход на INSERT DELAYED или запись логов в файл, а уже потом скриптом из cron'а insert или update в MySQL.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Apache tunning how to?" 
Сообщение от onorua Искать по авторуВ закладки(ok) on 14-Апр-05, 13:49  (MSK)
К сожалению, я не могу кешировать запросы средствами апача т.к. нам платят за количество показов, а если запрос кеширован - запрос до мускула доходить не будет, и соответственно - мы работали задаром:(.
По-поводу мускула, мне с самого начала не нравилась идея каждый раз дергать картинку из мускула, но это было "дешево и сердито" при не больших нагрузках. Но сейчас действительно нужно что-то с этим решать.
Спасибо что отправили в нужном направлении.
Спасибо огромное, всем кто ответил!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Apache tunning how to?" 
Сообщение от onorua Искать по авторуВ закладки(ok) on 21-Апр-05, 20:49  (MSK)
Итак, после копания, тюнинга и просто приятного времяпрепровождения, мы все-таки побороли эту проблему! Рассказываю как, вдруг это кому-то понадобиться, решение было под носом.
Мы взяли 2 абсолютно одинаковых по-железу компьютера, один сделали точной копией настроек "живого" сервера (пускай будет машина А), а второй пытались тюнить (Машина Б).
#----------------------------------
1. На Б было проставлен весь новый софт с настройками по-умолчанию:
А - 86 ответов/секунда
Б - 72 ответов/секунда
#----------------------------------
2. Выключен режим апача KeepAlive=off, добавлено количетво одновременных запросов на мускуле:
А - 86 о/с
Б - 81 о/с
#----------------------------------
И тут нас осенило!:),  энтерпрайс-версия нашей программы, поставляеться в скомпиленном виде! и мы режили тюнить php...
3.1 Добален модуль php accelerator (http://www.php-accelerator.co.uk/)
А - 87 о/с
Б - 93 о/с
3.2 Код скомпилен с помощью Zend, и подгружен Zend Optimizer (http://www.zend.com/store/products/zend-optimizer.php):
A - 86 о/с
Б - 140 о/с
3.3 Код скомпилен MMcache (http://turck-mmcache.sourceforge.net/index_old.html)
A - 86 о/с
Б - 215 о/с

Тест проводился с помощью родного бэнчмарка апача. Мы были слегка удивлены тем что Зенд не оправдал надежды + при компилировании Zend'ом, в админке не отображаються картинки.
Заменив старый код скомпиленным - мы увидели, что загрузка процессора не возростает выше 35%. Это чудо или просто удача... но все-таки мы это сделали.
Я буду рад, если этот пост кому-то поможет решить подобную проблему. Спасибо за внимание, занавес=))))

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру