Re: squid отдает данные из кеша через раз обновляя данные?
>> Уважаемое сообщество, прошу помощи в понимании следующей ситуации.
>>
>> Есть программа на С под задачу - зайти через прокси в интернет (squid
>> 2.6STABLE12 + ad), забрать файл с данными (три цифры внутри файла) и
>> положить его в папку. И вот так с частотой 1 раз в секунду.
>>
>> Вчера наблюдал ситуацию, когда в консоль программа писала значения
>> один раз корректные, затем нули, затем опять корректные значения.
>
> попали в момент перезаписи файла? он ведь и перезаписывается раз в секунду как раз наверно?
Узнал следующее. Данные формирует php скрипт, о перезаписи файла речь не идет.
>
>> Данные у источника в интернете не изменялись "в нуль", это
>> проверялось. Лечилось перезапуском программы.
>>
>> Программист утверждает, что программа тупая как валенок. Забирает по
>> http то, что ей отдает сервер.
>
> что отдаёт программа когда в файле один только EOF?
Байт в байт возвращает, что получил. Данные парсятся как раз по
управляющим байтам.
>
>> В прочем, это видно в консоли от
>> запроса до ответа и содержимого. И по этой причине грешу на squid, как
>> промежуточное звено, что он то отдавал данные из интернета, затем из
>> кеша, опять из интернета и затем опять из кеша. А в кеше были
>> "нулевые" значения скорей всего.
>
> сквид кэш делает не от фонаря а на основании expires ответа от сервера
Почитал подробней о http.
Вот заголовки которые получаю без прокси дома:
wget -S http://***.ru/index1.php;
Запрос HTTP послан, ожидается ответ...
HTTP/1.0 200 OK
Date: Fri, 23 Jul 2010 10:27:02 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 9
Content-Type: text/html; charset=WINDOWS-1251
X-Cache: MISS from turbine3.ht-systems.ru
Connection: keep-alive
Длина: 9 [text/html]
Сохраняется в каталог: `index1.php.4'.
100%[====================================================>] 9
--.-K/s в 0s
2010-07-23 14:27:02 (2,17 MB/s) - `index1.php.4' сохранён [9/9]
$ cat index1.php.4
437
262
75
А вот, что получаю через прокси:
wget -S http://***.ru/index1.php;
Запрос Proxy послан, ожидается ответ...
HTTP/1.0 200 OK
Date: Fri, 23 Jul 2010 10:10:34 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 14
Content-Type: text/html; charset=WINDOWS-1251
X-Cache: MISS from turbine3.ht-systems.ru
X-Cache: MISS from proxy
X-Cache-Lookup: MISS from proxy:3128
Via: 1.0 proxy:3128 (squid/2.6.STABLE12)
Proxy-Connection: keep-alive
Длина: 14 [text/html]
Сохраняется в каталог: `index1.php.3'.
100%[====================================================>] 9
--.-K/s в 0s
$ cat index1.php.3
437
262
75
При выполнении wget -N http://***.ru/index1.php; данные всегда новые
- не кешируются значит?
Поля в заголовке Last-Modified в обоих случаях нет. Как сквид работает
с данными без этого поля?
>
>> Кстати говоря таких потоков передачи 3 и все они глючили как описано выше.
>>
>> Подскажите, кто имеет опыт работы со сквидом. Такой глюк(?) с прокси возможен?
>> Программисту софтины или админу сквида предъявлять претензии?
>
> дизайнеру всей системы, похоже
Угу. Или переделывать и усложнять, или допиливать.
Reply to: