<div><meta http-equiv="content-type" content="text/html; charset=utf-8">2010/11/7 paranoidchaos <span dir="ltr">&lt;<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>&gt;</span><br><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<div class="im">не соглашусь немного - в случае когда</div>всего навсего три сервера (один под<br>фронт два под бекенды) схема с нфс на<br>фронтенде (имеется нфс сервер на<br>фронтенде) куда лучше подходит в тех<br>случаях когда невозможно управлять<br>
контентом. (всякие рсинки не помогут -<br>надо учесть что контент добавляется по<br>фтп или через веб формы соответсвенно<br>фтп будет коннектится к фронту а всякий<br>веб контент будет добавляться на<br>бекендах)<br><br>
и ещё если посмотреть на лбычный ЛАМП<br>то по нфс бекенды будут тянуть только<br>(допустим пхп) скрипты которые в свою<br>очередь кешируются на уровне байткода<br>ну и на уровне фронтенда. и плюс всякий<br>аплоад через веб формы будет<br>
передаваться по нфс на сервер.<br><br>пс: если есть другое более негеморойное<br>решение (на трёх серверах) - пожалуйста<br>в студию.</blockquote></div><div><br></div>Для кода больше подходиит распространение через Version control системы (svn,mercurial,git) или rsync.<div>
Дело в том, что даже при включенных opcode cachers будет делаться syscall stat на файл. до тех пор, пока stat не отработает (на nfs это как минимум round-trip time) никаких действий с файлом не будет происходить, т.к. nfs сетевая ФС, то кешировать stat на клиенте нельзя безопасно.</div>
<div>Скрипты обычно состоят из большого количества подключаемых файлов, вполне небольшая и милая задержка в 7мс на гигабите вырастает в 700 мс на 100 подключаемых файлах. Если используется php, можно библиотеки объединять в phar архивы (уменьшать количество ключаемых файлов), но гораздо проще иметь на backends живые файлы, лежащие в filecache, к которым stat и read не стоит операций ввода вывода. <br>
Т.е. NFS для web можно использовать практически всегда только для записи, если количество записей небольшое. Например можно на бекендах по nfs записывать сгенерированные картинки (запись операция не атомарная, поэтому сначала надо писать в tmp файл на nfs, а потом уже вызывать rename в конечный файл).<br>
<div class="gmail_quote"><br></div></div>