stealthy

stealthy
Рейтинг
69
Регистрация
15.06.2006

Если Вы о Cache-Control, Pragma, Last-Modified и Expires - не замечал, чтобы влияли. У меня на паре хостингов Apache самостоятельно пишет вдобавок к моим свой заголовок Expires совпадающий по дате с текущей датой (ну и временем, конечно). И сайты нормально индексируются.

Точно совершенно накопал проблему с заголовком Date. Если его совсем нет - в выдаче сайты показываются с очень старой датой, предположительно датой, когда сайт этот заголовок выдавал в последний раз. Случай, когда такого заголовка вовсе не было с самого начала последний раз у меня если и был то очень давно, сказать нчиего не могу. Индексирует при этом Яндекс их или нет - точно не знаю, но вероятно нет.

Ага, спасибо. А где оно стоит из наших хостингов?

maximkuk, ISP это что за панель? Я так думал, что у нас сейчас CPanel рулит. Пытался поискать в гугле, но ISP это еще и Internet Service Provider, в общем ищется что-то не то. Есть расшифровка или url где про неё почитать?

monstring, я выше писал, что есть обходные пути. В принципе, то, о чем Вы пишете это они и есть. Но, к сожалению, есть некоторое число ситуаций, где их недостаточно. А самое главное, что блокировать запись при отсутствии места - это полдела. А что делать дальше? Ведь нужно предпринять какие-то действия (извещение пользователя, отключение некоторых функций и т.п.) чтобы ситуацию разрешить. Писать такую штуку на каждый AddRecord - это не выход, времени на генерацию страницы сайта есть около 0.001 сек, чтобы добиться этого времени на скриптовых языках нужно очень сильно оптимизировать код и времени на такие проверки как создание нового файла и проч. просто нет.

Последние два поста тут были про "разные способы квотирования". Если не затруднит - с этого места можно чуть чуть подробнее? Как я писал выше, в 6 вариантах из протестированных мной 7 площадок quote решает вопрос. Добиться решения во всех случаях - идеал, верю что достижимый, даже если придется пользоваться несколькими техниками. Как делаются квоты? Через неделю я буду это знать, как и по любому вопросу - стоит покопаться в инете, но раз есть люди, кто это знает - отчего бы не спросить?

Нет, не проще. У нас система, которая ставится на любой хостинг. Клиент должен иметь возможность выбора площадки и не зависеть от производителя продукта.

Kpd:
А зачем это пользователю вообще знать? Если превысит квоту (дополнительное пространство на мастерхосте ему автоматически выделят), то получит об этом письмо (а ещё до превышения квоты получит гору писем о том что место заканчивается).

Ситуация - пользователь вводит данные, которые записываются в файл. Файл с данными аппендится, но поскольку квота превышена на подавляющем большинстве юниксов в этот момент размер файла обнуляется и все данные теряются нафиг. Есть варианты обходов, но на практике они малоэффективны (обсуждать сейчас не буду, не в том тема). Если бы я знал квоту я бы просто не дал начать запись в этот файл.

Kpd:
А про размер кластера не забыли? Сколько места займут 1024 файла размером 1 байт каждый?

Не забыл. Собственно это еще один минус решению через перебор файлов и расчету их совокупного размера.

Ну по остальным комментам только одно скажу - мне не нужно в одном случае узнать квоту, это я и сам прикинуть могу. Мне нужно грубо говоря тулзу написать, которая бы это показывала (сильно упрощаю).

В общем, после экспериментов ближе всего был совет про repquota. Эта команда не проходит, но проходит обычная "quota -v", которая на большинстве хостингов (тестировал только что на 7ми площадках) выдала корректно usage (используемое место) и quota. В одном случае quota была = 0, но предел (limit) был выставлен, это не стандартный хостинг, это своя площадка у клиента. И в одном случае (Хостинг РБК :)) - на одном сайте (видимо одна машина) лимит и квота =0, видно сколько usage, а остальное - соси бензин. А на другом сайте того же хостинга вообще команда отвечает короткое "none".

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

Кроме того хостер - это админы. А тут вопрос чисто программерский. Вероятнее всего не ответят.

kpd, невозможно спрашивать у клиента на каком он тарифном плане, как правило они этого не знают. А если через 3 года они переедут? А ты уже к сайту отношения не имеешь? Учить их прописывать где то в конфигах квоту и составлять на это документацию, которую или не прочтут или забудут? В конце концов можно просто ошибиться при записи значения куда-то. Это не подход, необходимо все делать автоматически, чтобы пользователь установил и занимался своим бизнесом, сапоги там по интернету продавал...

Кстати, сколько времени выполняется Ваш скрипт, который на Мастерхосте, есть тайминг?

Размер файлов совокупный на подсчет занимаемого места влиять никак не будет. Будет влиять их количество, немного влиять будет еще глубина директорий. Можно, конечно считать раз в час, но:

а) не везде есть cron, а веб-скрипту раз в час выполняться не всегда удастся.

б) раз в час это ОЧЕНЬ неоперативно, нужно актуально понимать сколько места доступного есть.

СУБД мы не используем, поэтому считать их нет смысла, ну а если на то дело пошло на многих хостингах в квоту включена еще и почта, которая, кстати, никак на файловой системе не видна. Так что посчитать её предложенным способом вообще невозможно, разве только сразу вычитать из квоты лимит на почту, который тоже где-то там внутри задается.

Оффтоп не совсем понял. Где нужно рекурсия используется нами и очень эффективно, в частности парсеры все у нас с рекурсиями. Так что если Вы подумали что мы её избегаем как "сложного" программерского приема - это не так. В данном случае этот подход по сути своей очень экстенсивный и имеет ограничения, так что нужно искать другое, инженерно правильное и элегантное решение. Ведь при копировании по FTP система рано или поздно выдает тебе сообщение об ошибке записи, значит FTP сервер знает о квоте от системы. Значит её можно получить (очевидно). Вопрос есть ли у веб скрипта на это права.

В общем, продолжаем эксперименты.

kpd, программер. Предложенный вариант не годится, поскольку он требует:

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

б) уйму времени на рекурсивный обход.

Идея проста - если места не осталось, то производить какие-то действия (блокировать запись, оповещать пользователя и т.п.). Если я при каждом действии буду обход директорий устраивать... Сами понимаете не выход.

Была еще одна у меня идея лобовая, просуществовавшая около минуты. Создавать файлы постепенно все большего размера до получения ошибки.

В общем, скорее нужно поставить вопрос так: как реализуются квоты на хостингах, какими средствами? Ведь в /etc/passwd в поле квот для пользователей одни нули. Проверял на мастерхосте, из чего попутно выяснил давно интересующую меня вещь - на одной машине размещено ~500 сайтов. А я думал что 1000-2000, ненамного ошибся, в общем. Не суть, короче если квоты на пространство хранятся где-то в системных ресурсах - значит останется понять можно получить к ним доступ в рамках стандартных для хостинга прав. Или это реализуется каким-то внешним софтом, тогда вероятно это никак не получается.

Иногда жалеешь что не юниксоид.

Покурил мануалы (я не PHPшник, поэтому не знал, что есть прикладные функции специально для этого дела). disk_free_space хоть убейся веником на всех хостингах рапортует какую-то ересь, похожую на количество доступного места на винте в целом. Уж больно большие цифры (Гигабайты) там получаются. При этом от пути, который я ей передаю результат не зависит. Примерно то же самое выдает statvfs.

repquota по всем признакам запускается нормально, но на выходе - пусто. Может ей какие права нужны специальные, есть опыт её использования на виртуальных хостингах?

funnybunny:
Мнения старожилов о том, что форум стал "не тот" тоже вполне естественны так как участники форума "того" времени сейчас меньше говорят и реже бывают здесь а сегодняшние основные темы и дускуссии задают вновь пришедшие. Так было, есть и будет быть

С этим не поспоришь :). У меня на garbage.ru за 7 лет существования форума каждые 2 года собирается новая "стая" (в хорошем смысле). Но когда завсегдатаям становится скучно они начинают разговор одного из двух типов: "раньше трава была зеленее" или "блин, че то на форуме надо поменять, давайте цвет сменим или типа новую фичу прикрутим". Как только появляется реальная тема для разговоров - проходит :).

Всего: 937