/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan f***** kan de gøre det?
Fra : A. Høegh


Dato : 30-04-01 18:01

Hej med jer.

Jeg arbejder på en søgemaskine, og sidder lidt og funderer over hvordan
Kvasir kan loade deres sider som ekstremt hurtigt. Kig på
http://www.kvasir.dk/l/Computer/ og fortæl mig hvordan denne side kan køre
på en database og være så sygeligt hurtig. Desuden er den en HTML
fil...wierd..

M.v.h
A. Høegh
--
- som hader popdrenge og smstøser i neongule UV-bukser...
E-mail: hoegh@click2find.dk
Web: http://www.click2find.dk/



 
 
Lauritz Jensen (30-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 30-04-01 18:06

"A. Høegh" wrote:
>
> Jeg arbejder på en søgemaskine, og sidder lidt og funderer over hvordan
> Kvasir kan loade deres sider som ekstremt hurtigt. Kig på
> http://www.kvasir.dk/l/Computer/ og fortæl mig hvordan denne side kan køre
> på en database og være så sygeligt hurtig. Desuden er den en HTML
> fil...wierd..

Hvad får dig til at tro at det bliver hevet direkte ud fra en database?
Jeg vil da tro, at det er html-filer, som bliver opdateret engang
imellem (f.eks. hver nat).
http://www.kvasir.dk/l/Computer/index.shtml

--
Lauritz

A. Høegh (30-04-2001)
Kommentar
Fra : A. Høegh


Dato : 30-04-01 18:39

> Hvad får dig til at tro at det bliver hevet direkte ud fra en database?
> Jeg vil da tro, at det er html-filer, som bliver opdateret engang
> imellem (f.eks. hver nat).
> http://www.kvasir.dk/l/Computer/index.shtml

Tror du at de gider side og holde 500-1000 kategorier ved lige manuelt? Og
forklar mig evt. hvordan de så kan søge deres sider og finde links..

M.v.h
A. Høegh
--
- som hader popdrenge og smstøser i neongule UV-bukser...
E-mail: hoegh@click2find.dk
Web: http://www.click2find.dk/




Lauritz Jensen (30-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 30-04-01 18:49

"A. Høegh" wrote:
>
> > Hvad får dig til at tro at det bliver hevet direkte ud fra en database?
> > Jeg vil da tro, at det er html-filer, som bliver opdateret engang
> > imellem (f.eks. hver nat).
> > http://www.kvasir.dk/l/Computer/index.shtml
>
> Tror du at de gider side og holde 500-1000 kategorier ved lige manuelt? Og
> forklar mig evt. hvordan de så kan søge deres sider og finde links..

Naturligvis ligger links i en database. Men hver nat køres et script,
som generer 500-1000 html-filer. Dette script startes af automatiskt
cron. Det er katalog delen af deres site.

Der er en anden del af kvasir, hvor man kan søge efter links. Denne del
er naturligvis ikke statisk. Denne del er lavet af et lille norsk firma,
som hedder fast (de laver bl.a. hardware special hardware til
tekstsøgning). På trods af navnet, så er denne del af siden meget
langsommere. Når det trods alt køre ralativt hurtigt, skyldes det
naturligvis at så meget data som muligt (dvs. de mest brugte indeks)
forbliver i hukommelsen.

(Alt det ovenstående er bygget på spekulationer. Jeg ved intet om
hvordan kvasir drives)
--
Lauritz

Hendrik Hansen (30-04-2001)
Kommentar
Fra : Hendrik Hansen


Dato : 30-04-01 18:56


"A. Høegh" <hoegh@click2find.dk> wrote in message
news:9ck79a$4il$1@news.inet.tele.dk...
> > Hvad får dig til at tro at det bliver hevet direkte ud fra en database?
> > Jeg vil da tro, at det er html-filer, som bliver opdateret engang
> > imellem (f.eks. hver nat).
> > http://www.kvasir.dk/l/Computer/index.shtml
>
> Tror du at de gider side og holde 500-1000 kategorier ved lige manuelt? Og
> forklar mig evt. hvordan de så kan søge deres sider og finde links..

Jeg tror du misforstår, når du tolker det til at de "gør det manuelt". Hvis
du har en applikation med store krav til performance, kan du ofte med fordel
generere output med et bestemt tidsinterval, f.eks. en gang i timen, og så
spytte det ud til klienterne som statiske sider - princippet har også et
navn, nemlig "caching". Det skal ses som modsætning til det traditionelle
princip, hvor man genererer indholdet dynamisk on-the-fly for hvert eneste
request. Med caching er du næsten have fjernet følsomheden overfor
trafikmængden - så længe netkort, webserversoftware og diske kan følge med
kan din applikation følge med, og det betyder altså at der skal et
usandsynligt stort pres til for at bringe applikationen i knæ.

Caching kan implementeres på mange forskellige måder, i det aktuelle
tilfælde ser det ud til at de skriver outputet som statiske HTML-filer til
filsystemet. En anden fremgangsmåde er at bruge RAM til at gemme cachen i,
en metode der bruges i næste generation af ASP, ASP.NET. Her findes der
virkelig nogle lækre metoder til nemt og effektivt at styre caching af
applikationer, sider eller endda delelementer på en side.

Mht. til dit sidste spørgsmål, så fungerer Kvasir's søgning noget anderledes
end indekssiderne - her er de nødt til generere outputet dynamiske hver
gang. Jeg kan også med rimelig sikkerhed afsløre at de bruger noget mere
effektivt end søgning via LIKE i en Access database De bruger formentlig
et fritekstindekseringssystem, som du bl.a. også kan finde i SQL Server.

Mvh. Hendrik



A. Høegh (30-04-2001)
Kommentar
Fra : A. Høegh


Dato : 30-04-01 19:18


> Jeg tror du misforstår, når du tolker det til at de "gør det manuelt".
Hvis
> du har en applikation med store krav til performance, kan du ofte med
fordel
> generere output med et bestemt tidsinterval, f.eks. en gang i timen, og så
> spytte det ud til klienterne som statiske sider - princippet har også et
> navn, nemlig "caching". Det skal ses som modsætning til det traditionelle
> princip, hvor man genererer indholdet dynamisk on-the-fly for hvert eneste
> request. Med caching er du næsten have fjernet følsomheden overfor
> trafikmængden - så længe netkort, webserversoftware og diske kan følge med
> kan din applikation følge med, og det betyder altså at der skal et
> usandsynligt stort pres til for at bringe applikationen i knæ.
>
> Caching kan implementeres på mange forskellige måder, i det aktuelle
> tilfælde ser det ud til at de skriver outputet som statiske HTML-filer til
> filsystemet. En anden fremgangsmåde er at bruge RAM til at gemme cachen i,
> en metode der bruges i næste generation af ASP, ASP.NET. Her findes der
> virkelig nogle lækre metoder til nemt og effektivt at styre caching af
> applikationer, sider eller endda delelementer på en side.
>
> Mht. til dit sidste spørgsmål, så fungerer Kvasir's søgning noget
anderledes
> end indekssiderne - her er de nødt til generere outputet dynamiske hver
> gang. Jeg kan også med rimelig sikkerhed afsløre at de bruger noget mere
> effektivt end søgning via LIKE i en Access database De bruger
formentlig
> et fritekstindekseringssystem, som du bl.a. også kan finde i SQL Server.

Jeg går ikke ud fra at du taler om Response.Expires, men hvordan har du så
forestillet dig at det skal kunne fungere? Kan du ikke give mig et eksempel
på cachelagring via statiske sider?

M.v.h
A. Høegh
--
- som hader popdrenge og smstøser i neongule UV-bukser...
E-mail: hoegh@click2find.dk
Web: http://www.click2find.dk/



Lauritz Jensen (30-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 30-04-01 19:13

"A. Høegh" wrote:
>
> Jeg går ikke ud fra at du taler om Response.Expires, men hvordan har du så
> forestillet dig at det skal kunne fungere?

Det kunne laves med Response.Expires, samt en omvendt proxy.

> Kan du ikke give mig et eksempel på cachelagring via statiske sider?

En simpel model i asp: <news:3AED839E.30184670@hotmail.com>


--
Lauritz

A. Høegh (30-04-2001)
Kommentar
Fra : A. Høegh


Dato : 30-04-01 19:32

"Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
news:3AEDAB44.A1D8ACEB@hotmail.com...
> "A. Høegh" wrote:
> >
> > Jeg går ikke ud fra at du taler om Response.Expires, men hvordan har du

> > forestillet dig at det skal kunne fungere?
>
> Det kunne laves med Response.Expires, samt en omvendt proxy.
>
> > Kan du ikke give mig et eksempel på cachelagring via statiske sider?
>
> En simpel model i asp: <news:3AED839E.30184670@hotmail.com>

Det ser meget fedt ud, men jeg fatter ikke ret meget. Grunden til mine
spørgsmål er at jeg driver en lille søgemaskine med 530+ kategorier,
www.click2find.dk, og skal nu til at redesigne og gøre den hurtigere. Gider
du ikke forklare scriptet lidt..evt. pr. e-mail?

M.v.h
A. Høegh
--
- som hader popdrenge og smstøser i neongule UV-bukser...
E-mail: hoegh@click2find.dk
Web: http://www.click2find.dk/



Jakob Andersen (30-04-2001)
Kommentar
Fra : Jakob Andersen


Dato : 30-04-01 19:48

"A. Høegh" <hoegh@click2find.dk> wrote in message
news:9ckac4$ekf$1@news.inet.tele.dk...
> Det ser meget fedt ud, men jeg fatter ikke ret meget. Grunden til mine
> spørgsmål er at jeg driver en lille søgemaskine med 530+ kategorier,
> www.click2find.dk, og skal nu til at redesigne og gøre den hurtigere.

F.eks. de ting der bliver vist på dit site ofte kan du cache i application
variablen..

Det scriptet før gør er at tjekke om det er x antal
sekunder/minutter/timer/dage siden at applicationvariablerne sidst er blevet
fyldt med data, hvis det er over det "tilladte" hentes dataene påny ind i
application variablerne sammen med et nyt "timestamp".

Når den næste bruger kommer tjekkes så igen om det er ved at være gammel
data hvis ikke hentes der blot fra Applicationvariablerne som er hurtigere
end databasen.

Lad mig prøve at skrive det lidt kode/logik agtigt:

<%

' Bruger kommer ind på siden og vi tjekker om det er over en time siden at
der sidst er hevet ny data ud

If DateDiff("H", Application("timestamp") , Now) > 1 Then
' Hent ny data i application fra DB med recordset objRS
Application("data1") = objRS(0)
Application("data2") = objRS(1)
Application("data3") = objRS(2)

' Sæt det nye timestamp i Application("timestamp")
Application("timestamp") = Now
End if

Response.write( Application("data1") & "<br>")
Response.write( Application("data2") & "<br>")
Response.write( Application("data3") & "<br>")

%>

Håber det hjalp lidt....

>Gider du ikke forklare scriptet lidt..evt. pr. e-mail?

Usenet diskussioner startes her og slutter her så længe de er ontopic..

--
Jakob Andersen
"No matter how great and destructive your problems may seem now, remember,
you´ve probably only seen the tip of them."



A. Høegh (30-04-2001)
Kommentar
Fra : A. Høegh


Dato : 30-04-01 20:26

"Jakob Andersen" <jakob@andersen.as> wrote in message
news:9ckc0l$q1b$1@sunsite.dk...
> "A. Høegh" <hoegh@click2find.dk> wrote in message
> news:9ckac4$ekf$1@news.inet.tele.dk...
> > Det ser meget fedt ud, men jeg fatter ikke ret meget. Grunden til mine
> > spørgsmål er at jeg driver en lille søgemaskine med 530+ kategorier,
> > www.click2find.dk, og skal nu til at redesigne og gøre den hurtigere.
>
> F.eks. de ting der bliver vist på dit site ofte kan du cache i application
> variablen..
>
> Det scriptet før gør er at tjekke om det er x antal
> sekunder/minutter/timer/dage siden at applicationvariablerne sidst er
blevet
> fyldt med data, hvis det er over det "tilladte" hentes dataene påny ind i
> application variablerne sammen med et nyt "timestamp".
>
> Når den næste bruger kommer tjekkes så igen om det er ved at være gammel
> data hvis ikke hentes der blot fra Applicationvariablerne som er hurtigere
> end databasen.
>
> Lad mig prøve at skrive det lidt kode/logik agtigt:
>
> <%
>
> ' Bruger kommer ind på siden og vi tjekker om det er over en time siden at
> der sidst er hevet ny data ud
>
> If DateDiff("H", Application("timestamp") , Now) > 1 Then
> ' Hent ny data i application fra DB med recordset objRS
> Application("data1") = objRS(0)
> Application("data2") = objRS(1)
> Application("data3") = objRS(2)
>
> ' Sæt det nye timestamp i Application("timestamp")
> Application("timestamp") = Now
> End if
>
> Response.write( Application("data1") & "<br>")
> Response.write( Application("data2") & "<br>")
> Response.write( Application("data3") & "<br>")
>
> %>
>
> Håber det hjalp lidt....

Det hjalp meget, tusind tak, men det her er jo stadigt et ASP-fil. Det er
også ret ligemeget, men kan man ikke på en eller anden måde "hugge" hele
html-outputtet fra ens script og gemme det i en variabel med
applikationsrækkevide?

M.v.h
A. Høegh



Jakob Andersen (01-05-2001)
Kommentar
Fra : Jakob Andersen


Dato : 01-05-01 00:31

"A. Høegh" <hoegh@click2find.dk> wrote in message
news:9ckdi3$p2b$1@news.inet.tele.dk...
> Det hjalp meget, tusind tak, men det her er jo stadigt et ASP-fil. Det er
> også ret ligemeget, men kan man ikke på en eller anden måde "hugge" hele
> html-outputtet fra ens script og gemme det i en variabel med
> applikationsrækkevide?

Jeg ville foretrække at køre et script enten Perl sat igang med et Cron Job
eller WSH sat igang med Scheduled Tasks, som hiver dataene ud fra databasen
og generere HTML-filer som så lægges på sitet...

Hvis du har tålmodighed nok kan du glæde dig til ASP.NET (Efterfølgeren til
ASP3.0) der har man mulighed for Output Caching dvs. at man kan sætte
serveren til automatisk kun at genere en ny side når der er gået en time
siden sidste request.

--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408866
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste