 |
Наше опитування |
 |
|
Звідки ви потрапили на наш сайт?
2. Чисто випадково потрапив3. По рекомендації колеги4. З сайту aspekt-udu.kiev.ua5. З сайту kabinet-info.narod.ru6. З сайту inforoom.org.ua
Архів
Результати
 Всього проголосувало: 363
|
 |
|
 |
Щоденник (блог) |
 |
Головна » 2008 » Серпень » 7 » Акселерация сервера или дай больше ресурсов :)
Акселерация сервера или дай больше ресурсов :) | 14:14 |
Начал с того что вычислил чего именно нехватка дает отказ в обслуживании. Один мне сказал сделай мол что бы php работал как модуль Apache сразу меньше оперативки будет кушать. Да, это верно, но это удар ниже пояса по безопасности сервера! Почему? А потому что когда php стоит как модуль cgi все скрипты запускаются от текущего пользователя и с его правами доступа в системе, что это значит? А то что есть к примеру клиент vasja для него создана директория веб с его скриптами. все скрипты запускаются от юзера vasja а не от юзера Apache т.е. от веб сервера. Представим ситуацию когда все таки пхп интепритатор запускается от апача. Вы поставили форум, он данные пишет в файл (к примеру основные настройки) скрипты форума запущены от веб сервера т.е. права доступа имеет веб сервер к файлам а не Вася. Вы сменили настройки форума, и он записал данные в конфиг владельцем которого стал юзер группы Apache т.е. веб сервер. Настройки внесли не верные и форум не запускается необходимо сменить данные в конфиге руками, и тут открываете кофиг изменяете, сохраняете и без толку, а почему? А потому что прав нету, вы под юзеом vasja а владелец файла Apache вот тут только админа сервера просить изменить данные. Да и вообщем представьте человека в которого есть доступ к серверу с правами веб сервер ?:) Вообщем чудить можно много Потому все хостинги не ставят такие настройки. Наверно сутки следил по логам и толку это не принесло. И так начал с того что апач при обработке php хавал более 10 метрофф озу и проца эдак 60 процентов и более скачек держался долго. И так уменьшить использование ОЗУ: для начала перелопатил httpd.conf (кто не в танке главный конфиг апача) там нашел директивы отвечающие за кол-во конектов, таймауты и прочую бяку:) уменьшил жизнь конекта до 30 сек. (а не300 как было) снизил колво конектов с одно IP (это полезно и против досса) еще кучу всего подкрутил, уже вижу результат плодятся не так много процессов. Но все равно дело в том что они весят долго в памяти. т.е. процес запустился обработал данные за 0.1 сек. а висит более 30 сек. нерабочий, проц не грузит а вот оперативу хавает! Потому на 1 процесс поставил жизни 5 сек. (поставил довольно хитро) затем поставил eacselerator - ускоритель php . ускорилась работа скриптов где то на 20-30 процентов, уже неплохо. Но этого мало, основная проблема осталась. Кэширования было мало. Решил поставить проксирующий веб сервер между клиентом и апачем. Зачем? А как помниццо при конектах апач создает кучу конектов для каждого обращения. Потому нуна была конструкция типа brauser- proxy www - Apache Хорошо известный Nginx эти вопросы решал. И так был установлен на сервер Nginx пере апачем, отладил что бы тот отдавал статический контент а апач только динамику. Вот, уже легче, память освободилась и прилично 100 клеинтов использовали в пике посещаемости чуть более 400 мегабайт (почти полтора гига свободно) Но осталась проблема с процессором. Что же делать? для начала необходимо было установить причну почему тяжолые скрипты юзают для простых задач столько много. Обратил внимание что процессы интепритатора висят в мапяти долго. К примеру один скрипт что то делает он висит и юзает проц на 60 процентов тут второй еще 30 и тут третий и все сервер выдает 500 ошибку, однако что же делать. Ведь процес часто юзает в начале работы пик ЦПУ но реально нужно для работы мало времени (до 1 сек) но процес юзает около 30 сек. столько проца. И так первое это запретить столько жить без работы. Второе это запретить 1 процесу юзать весь ЦПУ более 1 сек. Это решило проблемы с процессором очень быстро. Делал я еще много чего дополнительно. Но результат при тех же сайтах: Средняя загрузка 0.47 0.22 0.23 В пик может поднятся до Средняя загрузка 2.47 2.22 2.23 не более 3 Это очень радовало. После всего прочего за сутки не разу не упал апач. Все работа сервер стабилизировать и все пошло как нужно, клиенты поутихли. Все сайты работи вполне стабильно и шустро. Еще кучку ограничений поставил и все вот так я мучался в течении 3 суток на сервером |
|
Категорія: Персональний блог Jokerza |
Переглядів: 957 |
Додав: Jokerz
| Рейтинг: 5.0/1 |
| Всього коментарів: 2 | |
|
Додав: Jokerz | Дата написання: 13.01.2009 |
 кстати сейчас php работает как модуль Apache но через suexec  что дает возможность запускать под процесс апача под юзером:) что реально экономит ресурсы и не дает возможности шариться дальше чем корень веба клиента.
| |
0 
 Очень интересный рассказ. Спасибо огромное, Jokerz. С нетерпением ждём новых жизненных историй. Проблеммы бывают и у профессионалов. Главное - успешное их решение.
| |
0 
|
|
|
Додавати коментарі можуть лише зареєстровані користувачі. [ Реєстрація | Вхід ]
|
|
|