Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[DEV] Auto enable/disable GZIP compression

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев

Сообщение Jovani »

Возможно вся модификация была:
file_get_contents('/proc/loadavg'); => @file_get_contents('/proc/loadavg');
То есть, просто избавились от сообщения об ошибке ..

В общем, вопрос открытый :)

Добавлено спустя 8 часов 16 минут 38 секунд:

Вот так это сделано в vbulletin

Код: Выделить всё

if ($vbulletin->options['loadlimit'] > 0) 
{ 
    if ( is_readable('/proc/loadavg') ) 
    {//    if it's located on a Linux system: 
        $fh = @fopen( '/proc/loadavg', 'r' ); 
        $load_avg = @fread( $fh, 6 ); 
        @fclose( $fh ); 
        $loadavg = substr($load_avg, 0, strpos($load_avg, ' ')); 
    } 
    else 
    {//    if it's located on a FreeBSD system: 
        $load_avg = `sysctl -n vm.loadavg`; 
        $load_avg = str_replace('{ ', '', $load_avg); 
        $loadavg = substr($load_avg, 0, strpos($load_avg, ' ')); 
    } 
     
    if ($loadavg > $vbulletin->options['loadlimit']) 
    { 
        $servertoobusy = true; 
    } 
} 

А у меня не получается ....
Возвращается пустое значение следующего кода :(

Код: Выделить всё

<?php
$load_avg = `sysctl -n vm.loadavg`;
$load_avg = str_replace('{ ', '', $load_avg);
$loadavg = substr($load_avg, 0, strpos($load_avg, ' '));
print("Load: " . $loadavg . "%");
?>
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Jovani писал(а):$load_avg = `sysctl -n vm.loadavg`;
я почти угадал)))

Добавлено спустя 1 минуту 32 секунды:

в принципе нормально
%uptime
17:20 up 28 days, 23:25, 1 user, load averages: 0,20 0,15 0,14
%sysctl -n vm.loadavg
{ 0.20 0.15 0.14 }


попробуй запусти в командной строку, что выдаст.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев

Сообщение Jovani »

crash писал(а):попробуй запусти в командной строку, что выдаст.
Не могу, нет доступа, это не мой сервер :(
Кстати, код взят из последнего vbulletin, именно это они и фиксили.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

у меня сработало...
ест только один вариант, что нет доступа к sysctl
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Jovani писал(а):Весь их форум забит подобными вопросами - почему, у кого FreeBSD, не отображается loadavg
Вот я спросил у хостера об этом. Хостер мне ответил

1. почему нет доступа к loadavg и uptime?
Тут дело не в принципиальной невозможности это сделать под freebsd. Некоторые вещи не доступны именно в силу политики безопасности на хостинге.
Сжатие гзипом вполне можно и без такого условия включить, мнение о больших расходах на сжатие слишком преувеличено. В большинстве случаев затраты на сжатие составять меньше 5% от затрат на генерацию этой страницы.

А конкретно в этом примере условие еще и вредное - там на форк и запуск нового процесса, который должен выдать avgload, уйдет больше ресурсов, чем на сжатие страницы.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Поручик писал(а):В большинстве случаев затраты на сжатие составять меньше 5% от затрат на генерацию этой страницы.
Так и есть. Для каждой страницы это примерно 4-6%.

В IPB и Вобле, по-моему, при большом значении loadavg отключается функция поиска (впрочем, в Олимпусе тоже :wink:) - это более эффективно.
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Сообщение Mr. Anderson »

Поручик
Очень странная политика безопасности... Ну да пусть будет на их совести...
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

В большинстве случаев затраты на сжатие составять меньше 5% от затрат на генерацию этой страницы.

А конкретно в этом примере условие еще и вредное - там на форк и запуск нового процесса, который должен выдать avgload, уйдет больше ресурсов, чем на сжатие страницы.
Не солгасен. Причём тут запуск нового процесса? Происходит просто чтение файла. Да и сжатие контента в phpbb ведётся с максимальной степенью компрессии (9) и никакие это не 5% уж точно.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Да и сжатие контента в phpbb ведётся с максимальной степенью компрессии (9) и никакие это не 5% уж точно.
Siava, предлагаю не гадать на кофейной гуще посчитать самому, сколько времени заниает gzip-компрессия. Например, это можно сделать, поставив мой мод Advanced Page Generation Time и мод Смартора на ту же тему. Разница между ними в том, что мой мод учитывает время gzip-ования страницы, а смарторовский - нет. Можете сравнить результаты здесь: http://www.prophet.ru/forum/

Получается как раз в районе 5% от общего времени генерации страницы.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Coagulant
А причём тут время, которое она занимает? Я не о времени, а о нагрузке, которую компрессия создаёт.
Реально наблюдал и не раз, что с компрессией нагрузка на сервер (load average) почти в полтора раза больше, чем без неё.

Конечно, на форуме, где посетитель 1 человек никакой разницы не увидишь, а у меня в данный момент до 80 человек онлайн и сервер не самый крутой, поэтому приходится идти на всяческие ухищрения. Если бы не было разницы стал бы я делать этот мод?

К сожалению программ-мониторов на сервере у меня нет, поэтому графики с разницей я показать не могу.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)

Вернуться в «Бета-версии модов для phpBB 2.0.x»