All streams
Search
Write a publication
Pull to refresh
204
0
Олег Черний @apelsyn

AI&ML Teach Lead

Send message
Я думаю твой тест может претендовать на звание «самый объективный тест в рунете», тут даже нету смысла говорить о чистоте эксперимента — результат очевиден. Ура!
nginx новый процесс не форкает.
nginx парсит SSI-инструкции, ему неважно какой кусок html вы упаковали в блок. В статье есть ссылка на исходный код linux.ria.ua/SsiBlocks/. Если в коде не разберетесь пишите.
В любом деле нужно действовать без фанатизма. Я с Вами согласен, что в таком случае все переводить на блоки нельзя.

Вобще-то можно, частично, неужели все блоки должны быть актуальны? Посто каркас страницы кешировать уже не получится, а вот ленту новостей, курсы валют, блок с счетчиками/информерами,… можно поробовать.
Я с Вами согласен что схему можно селать более оптимальной, но согласитесь что при этом конфиг будет выглядеть сложнее для понимания схемы.
В статье рассказывается все о том как у себя воспроизвести предложенную мной схему. Я старался максимально понизить порог вхождения в тему, спецы и так все давно знают и этим успешно пользуюются.

А если видите что-то лишнее для себя, переходите с следующему подзаголовку.

Спасибо за ссылки.

В первой статье производительность будет падать за счет того что для работы с Memcached потребуется сетевые операции.

во второй статье мы получим скорее всего сравнимую производительность nginx-кешом.
Там хабракат кое-что вырезал, в скобочках было <!--# include virtual=«menu.php» -->
Возможно вы не привыкли к стилю конфтгов nginx, в данном конкретном случае в кеш не попадает «по умолчанию» ничего, т.к. время кеширования равно 0.

По какому принципу ложить в кеш указано в директиве fastcgi_cache_key $uri$is_args$args; Т.е., например, сранички /menu.php и /menu.php?key=value будут размещены в разных кеш-файлах.

Кроме того в кеше не происходит подмены ssi-инструкций. Если в index.php есть "", то в кеше эта инструкция так и остается. Подмена происходит в менент запроса и если menu.php нету сейчас в кеше то происходит обращение к бекенду и размещение в кеш только menu.php, где время размещения в кеше определяется по заголовку «Cache-control».

Объяснил как умел, если неумело, то настройте локальную копию и убедитесь в этом сами.

А очистка кеша нужна для того что указана инструкция fastcgi_cache_use_stale, если ваш бекенд сгенерит ошибку то она не будет показана, абудет взята устаревшая копия с кеша. Ну если устаревшей копии в кеше нет, только тогда можно увидеть сбой.

Но если запрашивается сраничка index.php, menu.php,… то в кеше создается отдельная страничка
Я с Вами согласен. В данном случае каждый блок кешируется именно по отдельности, сборка блоков в готовую страницу происходит при каждом запросе к серверу. Просто алгоритм сборки настолько заоптимизирован, что этот процес отъедает очень малую долю процессорного времени.
Я не пробовал, но было бы интересно услышать отзывы или сравнение SSI+кеш от Сысоева и Varnish как прослойка между nginx и becken-ом.
> Про tmpfs Игорь Сысоев ответил вопросом «Какую версию MSDOS используете?» =)

Там речь идет о FreeBSD.

> Это забивание гвоздей микроскопом, тратить время своё и читателей на такую ерунду.

Вы за читетлей не расписывайтесь, некрасиво как-то.
Boт здecь yжe oбcyждaлиcь нeдocтaтки Xaбpaпoиcкa. Пpoшлo yжe бoльшe гoдa, пoиcк зaмeтнo yлyчшилcя, нo вce жe гyглy ycтyпaeт. Глaвным пpeимyщecтвoм гyглa (нa мoй взгляд) являeтcя вoзмoжнocть пpи paнжиpoвaнии yчитывaть ccылки внeшниx иcтoчникoв нa cтaтьи, чтo никoгдa нe cмoгyт cдeлaть aвтopы caйтa.
Исходник иллюстрации к статье в оригинальном маштабе: linux.ria.ua/img/articles/JsFlash/PSD/
Клавиатуру нашел в Google.
Спасибо, уже поравил.
C обложки «Javascript. The Definitive Guide» с сайта O'REILLY oreilly.com/catalog/9780596101992/cover.html
Если вы экспортировали из Actionscript метод setRingtone(), при этом id подгруженного flash-объекта 'MyFlashID', то обратиться к нему можно приблизительно так
document.getElementById('MyFlashID').setRingtone()
, если там нужно передавать параметры то так
document.getElementById('MyFlashID').setRingtone(param1, param2,...)

Спасибо, поравил
Если деньги продолжают списываться то в статусе логично писать «Пытаемся остановить...»
Я решил провести тесты. Для того чтоб эксперимент можно было считать более-менее чистым отключил iptables, запросы производил с localhost, чтоб исключить влияние пропускного канала, sendfile был включен, тестировал на fs: ext3(у меня небыло возможности подмонтировать диск с noatime), tmpfs

Результат для запроса одиночного файла небольших размеров — разницы практически нет.
ab -n 10000 -c 1000 localhost:8080/vrt/1.jpg
Document Path: /vrt/1.jpg
Document Length: 238482 bytes
Time taken for tests: 6.466 seconds

ab -n 10000 -c 1000 localhost:8080/hdd/1.jpg
Document Path: /hdd/1.jpg
Document Length: 238482 bytes
Time taken for tests: 6.701 seconds

Вы были правы — вношу правки в статью.

Information

Rating
Does not participate
Location
Винница, Винницкая обл., Украина
Date of birth
Registered
Activity