PDA

Bekijk Volledige Versie : IIS server side cache onder controle?



Arjen Haayman
24/02/03, 21:35
Hallo,

We hebben (sinds kort) een intranet dat draait onder IIS. Nu lopen we
tegen het probleem op dat wijzigingen op de site heel lang niet getoond
worden omdat IIS ASP pagina's zo lang in cache houdt. Vandaag heeft de
server weer een halve dag op ASP-pagina's gedraaid die al vroeg in de
middag gewijzigd waren en aan het eind van de middag zag ik de wijziging
nog steeds niet.

Kennelijk is de cache van IIS erg taai en heeft de server niet in de
gaten dat het bronbestand inmiddels gewijzigd is. Cacheing uitzetten
hebben we ook geprobeerd, maar we werden niet erg vrolijk van het
performance-verlies dat optrad.

Hoe kan ik er nu voor zorgen dat IIS goed controleert of een bestand
gewijzigd is en opnieuw geladen moet worden? Server herstarten is niet
een optie: wij ontwikkelaars hebben geen toegang tot de
productie-server, maar kunnen alleen content ftp-en.

--
Arjen Haayman
-- cogito ergo bicyclo --
Note: My real email-address is ahaayman@home.nl

Nico Coesel
24/02/03, 22:20
Arjen Haayman <ahaayman@deadspam.com> wrote:

>Hallo,
>
>We hebben (sinds kort) een intranet dat draait onder IIS. Nu lopen we
>tegen het probleem op dat wijzigingen op de site heel lang niet getoond
>worden omdat IIS ASP pagina's zo lang in cache houdt. Vandaag heeft de
>server weer een halve dag op ASP-pagina's gedraaid die al vroeg in de
>middag gewijzigd waren en aan het eind van de middag zag ik de wijziging
>nog steeds niet.
>
>Kennelijk is de cache van IIS erg taai en heeft de server niet in de
>gaten dat het bronbestand inmiddels gewijzigd is. Cacheing uitzetten
>hebben we ook geprobeerd, maar we werden niet erg vrolijk van het
>performance-verlies dat optrad.
>
>Hoe kan ik er nu voor zorgen dat IIS goed controleert of een bestand
>gewijzigd is en opnieuw geladen moet worden? Server herstarten is niet
>een optie: wij ontwikkelaars hebben geen toegang tot de
>productie-server, maar kunnen alleen content ftp-en.

Met welke browser test je? Ik vermoed IE. Gebruik Opera of Netscape.
Als IIS goed is geimplementeerd, dan kun je vanuit Opera of Netscape
een refresh forceren.
Als permanente oplossing moet je je pagina's een beperkte levensduur
geven.

--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vinden? Adresboekje.nl

Arjen Haayman
24/02/03, 23:05
Nico Coesel wrote:
> Arjen Haayman <ahaayman@deadspam.com> wrote:
>
>
>>Hallo,
>>
>>We hebben (sinds kort) een intranet dat draait onder IIS. Nu lopen we
>>tegen het probleem op dat wijzigingen op de site heel lang niet getoond
>>worden omdat IIS ASP pagina's zo lang in cache houdt. Vandaag heeft de
>>server weer een halve dag op ASP-pagina's gedraaid die al vroeg in de
>>middag gewijzigd waren en aan het eind van de middag zag ik de wijziging
>>nog steeds niet.
>>
>>Kennelijk is de cache van IIS erg taai en heeft de server niet in de
>>gaten dat het bronbestand inmiddels gewijzigd is. Cacheing uitzetten
>>hebben we ook geprobeerd, maar we werden niet erg vrolijk van het
>>performance-verlies dat optrad.
>>
>>Hoe kan ik er nu voor zorgen dat IIS goed controleert of een bestand
>>gewijzigd is en opnieuw geladen moet worden? Server herstarten is niet
>>een optie: wij ontwikkelaars hebben geen toegang tot de
>>productie-server, maar kunnen alleen content ftp-en.
>
>
> Met welke browser test je? Ik vermoed IE. Gebruik Opera of Netscape.
> Als IIS goed is geimplementeerd, dan kun je vanuit Opera of Netscape
> een refresh forceren.
> Als permanente oplossing moet je je pagina's een beperkte levensduur
> geven.
>
Nee, het is niet de browser. Elke pagina wordt opnieuw gegenereerd uit
een database, maar met oude functionaliteit. Vandaag heb ik bijvoorbeeld
nieuwe hyperlinks aangebracht in een smoelenboek, maar ik kreeg de hele
dag pagina's zonder hyperlink (maar uiteraard met verse pagina's,
afhankelijk van de zoek-opdracht). Niet de gegenereerde HTML-pagina's
worden gecached maar de ASP-'programma's' die de pagina's genereren.

Arjen


--
Arjen Haayman
-- cogito ergo bicyclo --
Note: My real email-address is ahaayman@home.nl

Arjen Haayman
28/02/03, 17:20
Arjen Haayman wrote:
> Hallo,
> Hoe kan ik er nu voor zorgen dat IIS goed controleert of een bestand
> gewijzigd is en opnieuw geladen moet worden? Server herstarten is niet
> een optie: wij ontwikkelaars hebben geen toegang tot de
> productie-server, maar kunnen alleen content ftp-en.
Ik heb ergens het antwoord gelezen:
IIS heeft niet in de gaten dat een ASP-pagina opnieuw 'gecompileerd'
moet worden als een include-file gewijzigd is (wat bij ons meestal het
geval is: de 'main' pagina bevat weinig code).
M'n oplossing is nu om met alle bestanden die afhankelijk zijn van een
bepaalde include-file van een nieuwe datum te voorzien alvorens ze naar
de site te ftp-en.

Gelukkig staan de bestanden op unix en heb ik perl, make en touch om het
leven 'gemakkelijk' te maken :)

Arjen Haayman

Wilbert van Dolleweerd
01/03/03, 15:35
On Fri, 28 Feb 2003 17:10:45 +0100, Arjen Haayman
<ahaayman@deadspam.com> wrote:

>> Hoe kan ik er nu voor zorgen dat IIS goed controleert of een bestand
>> gewijzigd is en opnieuw geladen moet worden? Server herstarten is niet
>> een optie: wij ontwikkelaars hebben geen toegang tot de
>> productie-server, maar kunnen alleen content ftp-en.
>Ik heb ergens het antwoord gelezen:
>IIS heeft niet in de gaten dat een ASP-pagina opnieuw 'gecompileerd'
>moet worden als een include-file gewijzigd is (wat bij ons meestal het
>geval is: de 'main' pagina bevat weinig code).
>M'n oplossing is nu om met alle bestanden die afhankelijk zijn van een
>bepaalde include-file van een nieuwe datum te voorzien alvorens ze naar
>de site te ftp-en.
>
>Gelukkig staan de bestanden op unix en heb ik perl, make en touch om het
>leven 'gemakkelijk' te maken :)

Dit probleem heb ik bij mijn projecten ook gehad. Inderdaad is het dan
meestal een kwestie van een touch toe te passen om bij IIS het idee
naar binnen te hameren dat die bestanden *echt* wel zijn gewijzigd.

Touch is ook voor Win32 beschikbaar. Mail me maar voor een kopietje.

Groetjes,
Wilbert van Dolleweerd