- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
ну вот же наврал
В конце концов возьми да поставь два пакета.
Давно уже. Я не фантазирую "вообще" - а рассказываю как действительно можно сделать.
заявил, что давно уже поставил два пакета.
Что, nginx переплюнул даже RewriteMap с тьюринг-полным обработчиком? А как такое может быть, извините пожалуйста?
Ну скажем, быстро не нашел готового рецепта. Тупо удобнее на обычном императивном языке программирования изобразить условную логику.
И зачем мне изучать как это сделать на неудобном ресурсопотребляющем apache, если я уже знаю как это сделать в nginx.
На самом деле мне нужно в некоторых случаях исправить заголовки ответа бекенда,а не URL. В mod_headers по-моему логика ограничена .
Нужно было модифицировать часть заголовка, если он явно неправильный. Например, вместо "Content-type: image/gif; Charset=UTF-8", сделать "Content-type: image/gif". Даже не представляю что там в mod_headers нужно выдумать. Можешь, конечно, выдумать из интереса.
И это реальный пример из жизни. Просто приложение на бекенде слишком сложное, чтобы разумно было искать почему оно выдает такие заголовки.
ну вот же наврал
заявил, что давно уже поставил два пакета.
Ай нехорошо. Ну не так ты туп как прикидываешься, а?
Я не фантазирую "вообще" - а рассказываю как действительно можно сделать.
- абзацем выше был подробный рассказ. Ты его только почему-то "не заметил".
Ну скажем, быстро не нашел готового рецепта. Тупо удобнее на обычном императивном языке программирования изобразить условную логику.
Ну и кто тебе помешал так сделать в апаче? - Элементарное нежелание читать документацию.
И зачем мне изучать как это сделать на неудобном ресурсопотребляющем apache, если я уже знаю как это сделать в nginx.
И от этого документация может помочь. nginx, понимаешь почему-то любят настраивать (а иначе он тупо не обрабатывает часть запросов) - а апач обязан быть оптимизированным под конкретную ситуацию магически, причем из коробки.
Нужно было модифицировать часть заголовка, если он явно неправильный. Например, вместо "Content-type: image/gif; Charset=UTF-8", сделать "Content-type: image/gif". Даже не представляю что там в mod_headers нужно выдумать.
SetEnvIf + Header.
Просто приложение на бекенде слишком сложное, чтобы разумно было искать почему оно выдает такие заголовки.
Звучит страшно. Если даже такую простую проблему (четко понятно как ее воспроизвести, в чем она выражается) нельзя нормально решить - что можно сказать о более сложных ситуациях.
Ай нехорошо. Ну не так ты туп как прикидываешься, а?
и что теперь мне нельзя заметить формальную ложь?
SetEnvIf + Header.
по-моему SetEnvIf не видит заголовки ответа от бекенда. А lua в nginx видит, потому что nginx специально создан для работы с бекэндом.
Да и речь не шла о конкретном заголовке, а о всех видах неправильных заголовков. На языке программирования это делается простыми условными и строковыми операциями.
и что теперь мне нельзя заметить формальную ложь?
Можно, но пока не получилось.
по-моему SetEnvIf не видит заголовки ответа от бекенда.
В общем-то, должно хватить Header edit с регэкспом.
Да и речь не шла о конкретном заголовке, а о всех видах неправильных заголовков. На языке программирования это делается простыми условными и строковыми операциями.
Для подобных извращений в апаче тоже есть mod_lua. И пересобирать в сотый раз ничего не надо.
Ни-чё, ни-чё истина где-то рядом.
p.s Сории за офф топ.
myhand, ну ладно.
вернемся к началу: тест делал кто?
достаточно имитировать медленных клиентов скачивающих файлы хотя бы по 1 мб и задействующих одновременно хотя бы 50 обработчиков апача. и в тех же условиях сравнить показатель потребления памяти в nginx.
достаточно имитировать медленных клиентов скачивающих файлы хотя бы по 1 мб и задействующих одновременно хотя бы 50 обработчиков апача. и в тех же условиях сравнить показатель потребления памяти в nginx.
Нету разницы - не заметна она на фоне потребления памяти бакендом, mysql-ми всякими там. Апач тихо засосет себе все с бакенда от скриптов и будет отдавать.
Вот смотри, для сравнения:
и
Nginx-ы вместе жрут в ~4 раза больше чем апач. А роль играют ту же самую - простейший проксирующий фронтенд. Без кеширования.
myhand, по 2 мб на каждого активного клиента, которому осуществляется передача ? или как из этих данных видно как растет потребление памяти у апача при росте числа клиентов?
А у меня это выглядит так :
ps -o rss,command `pgrep nginx`
RSS COMMAND
908 nginx: master process /usr/sbin/nginx
1144 nginx: worker process
1072 nginx: worker process
причем, процессов nginx постоянное количество - три не зависимо от количества клиентов.
Ладно, возьму твои цифры по 5 мб на каждый процесс nginx исключая master process.
Таким образом, у типичного пользователя nginx вместо апача и VPS эдак на 256мб памяти при 50 активных закачках дополнительно экономится 90 мб драгоценной памяти.
И при чем тут вконтакте вообще? Экономия очень приличная даже для унылых сайтов.
myhand, по 2 мб на каждого активного клиента, которому осуществляется передача .
Не понял. Я описал вам *суммарное* потребление памяти. В одном примере - апач (там суммарная информация по всем тредам, top и ps это показывают как *один* процесс, независимо от клиентов). Во втором nginx.
Я попробовал "докрутить" нагрузку апачу: максимум что удалось выжать - под 5Mb.
А у меня это выглядит так :
ps -o rss,command `pgrep nginx`
RSS COMMAND
908 nginx: master process /usr/sbin/nginx
1144 nginx: worker process
1072 nginx: worker process
У вас чуть лучше. Может буфера какие-то поменьше, может нагрузка иная, может модули какие открутили. nginx ведь дубовый - worker_connections маленький поставишь и часть запросов не обработана.
myhand, по 2 мб на каждого активного клиента, которому осуществляется передача .
А у меня это выглядит так :
ps -o rss,command `pgrep nginx`
RSS COMMAND
908 nginx: master process /usr/sbin/nginx
1144 nginx: worker process
1072 nginx: worker process
причем, процессов nginx постоянное количество - три не зависимо от количества клиентов.
Ладно, возьму твои цифры по 5 мб на каждый процесс nginx исключая master process.
Таким образом, у типичного пользователя nginx вместо апача и VPS эдак на 256мб памяти при 50 активных закачках дополнительно экономится 90 мб драгоценной памяти.
И при чем тут вконтакте вообще? Экономия очень приличная даже для унылых сайтов.
Логично. Ответ myhand?