Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Ограничение на выполнение Php-скрипта
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
Ограничение на выполнение Php-скрипта [сообщение #79396]

Интересует, есть ли какие легкие способы ограничить выполнение PHP-скрипта по частоте запроса?

То есть, имеется скрипт, который создает достаточно большую нагрузку в БД MySQL.
При стечении обстоятельств, когда большое количество посетителей начинают его использовать, начинаются жуткие "тормоза" сервера.
Есть идея, не знаю, насколько она хороша - ограничить использование этого скрипта по времени.
Например, установить каким либо образом, не более 10-ти раз в минуту.

Может есть какие другие соображения и идеи, по данной ситуации?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 12:49
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zeev
Нечто
Средний рейтинг: 5 | Оценок: 5
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания:
Публикаций: 754
Статус: zeev в оф-лайне
[сообщение #79397]

хм я бы предложил в скрипте записывать в файл последню дату выполнения
и делать проверку, если разница между текущей датой и датой последнего выполнения меньше 6 секунд
выдавать сообще Server Busy

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:06
Нажмите сюда для просмотра профайла zeev Отправить Персональное сообщение zeev Посетить домашнию страничку zeev! Найти сообщения от zeev Добавить zeev в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79398]

Кстати, сперва, у меня была у меня идея, просто мерять загрузку проца, и соответственно ставить условие - давать допуск или нет.
Но не получилось "стандартными" средствами померять, скорее всего из-за SafeMode.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:15
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zeev
Нечто
Средний рейтинг: 5 | Оценок: 5
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания:
Публикаций: 754
Статус: zeev в оф-лайне
[сообщение #79399]

ну померять нагрузку можно, только ты тогда ограничишь доступ ко всему что не есть хорошо
а так только отдельному скрипту

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:18
Нажмите сюда для просмотра профайла zeev Отправить Персональное сообщение zeev Посетить домашнию страничку zeev! Найти сообщения от zeev Добавить zeev в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79400]

Дык я только в определенном скрипте хотел поставить условие ...
И какие способы есть для определения текущей нагрузки сервера Apache?

Я пытался выяснить так:

PHP:


<?php
    $loadavg_array 
= explode(" ", exec("cat /proc/loadavg"));
    
$loadavg = $loadavg_array[2];
    print(
"Load: " . $loadavg . "%");
?>

Сообщение было отредактировано Jovani 09-11-2005 в 13:25

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:21
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zeev
Нечто
Средний рейтинг: 5 | Оценок: 5
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания:
Публикаций: 754
Статус: zeev в оф-лайне
[сообщение #79401]

впринципе можно и так, правда тогда ты будешь держать сервер в определенной нагрузке постоянно
а проверяй нагрузку простым uptime чере exec или system

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:24
Нажмите сюда для просмотра профайла zeev Отправить Персональное сообщение zeev Посетить домашнию страничку zeev! Найти сообщения от zeev Добавить zeev в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79402]

Так у меня не получилось.
Скорее всего нет доступа к cat/proc/loadavg

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:26
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zeev
Нечто
Средний рейтинг: 5 | Оценок: 5
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания:
Публикаций: 754
Статус: zeev в оф-лайне
[сообщение #79403]

хм или модуль su_exec врублен
попробуй exec("uptime")

Сообщение было отредактировано zeev 09-11-2005 в 13:32

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 13:28
Нажмите сюда для просмотра профайла zeev Отправить Персональное сообщение zeev Посетить домашнию страничку zeev! Найти сообщения от zeev Добавить zeev в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79406]

zeev спасибо, конечно попробую, но пока подумаю над другими вариантами. Может кто-то, еще что-то подскажет ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-11-2005 14:43
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 04:32.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.07892203 seconds (93.12% PHP - 6.88% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.