DomainDB behöver serverkraft!

Permalänk
Medlem

Japp... Har fått till det nu!

Frågan är om jag verkligen ska flytta över den till linuxlaptopen... Den kommer jag iof att ha med mig i sommar och så... Men då kommer jag att sitta på DSL :/ 256kbit/s eller vad det nu är hahahaha... Men det gör ju inte så mycket... Det här är ju inte speciellt bandbreddskrävande!

Svårt beslut nu...

Visa signatur

/Jeppe

Permalänk
Medlem

Ser ut som om databasen har ökat med ca 15000 domäner på ett par dagar!
Hur klarar servern trafiken?

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

Hojta till om det behövs domäner.
Jag har en lista på 2388550+ unika domännamn + hostnamn som jag samlat på mig med min tjänst dnsdigger.com

Permalänk
Medlem

iXam, det skulle ju vara alldeles lysande om du ville dela med dig av dom!! Fråga är nu kanske om man ska utveckla spindeln till att kravla dessa domäner efter titel samt länkade andra domäner... och sedan lägga över skiten på en linuxburk och fortsätta där istället...

just nu mår min server rätt bra! Den laggar till då och då - förmodligen när sidor hämtas/läggs upp, men det är inte så farligt som det var förut!

Visa signatur

/Jeppe

Permalänk
Medlem

Du kan ladda ner dom från -> http://www.dnsdigger.com/hostnames/
Säg till när du är klar så tar jag bort filen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av iXam
Du kan ladda ner dom från -> http://www.dnsdigger.com/hostnames/
Säg till när du är klar så tar jag bort filen.

Jag är också intresserad av filen 8-). Jag blir insipirerad av alla spindlar (plus att de är rätt häftiga) så jag skulle vilja skriva något eget också, och då kan det vara bra med lite domäner att utgå ifrån.

Jag sitter på jobbet nu, så jag kan inte tanka hem det förän i kväll.

//C

Permalänk

Väldigt intressant tråd måste jag säga, det jag är kanske mest fascinerad över är din spindel, Sirjeppe Har kollat lite på din kod och försökt förstå hur spindlar fungerar rent tekniskt, så jag tränkte bara höra ifall du kunde tänka dig att dela med dig av dina yrkeshemligheter eller inte? Och om du gör det, hur fungerar en web spindel, eller Din rättare sagt.. kör den bara massa adresser och kollar om den får svar, typ www.a.com, www.b.com o.s.v eller?

Någon annan som vet som kanske kan svara rent av, har googlat och kollar wiki men lyckas inte hitta någon bra info.

Med vänliga hälsningar

//_b

Permalänk
Medlem

iXam... Nu har jag laddat hem filen!

FetJonthe... Min spindel är inte speciellt avancerad för tillfället. Men den nya versionen som jag har i tanken kommer att jobba mer självständigt utan en lista med domännamn att söka igenom. Den kommer som sagt att leta igenom varje domän i en lista efter både titel (som den lagrar för respektive domän) och även länkar till andra domäner. På så sätt får man ju ett nät av domäner inom samma område, och till slut har man kravlat igenom alla länkar man hittar från en startdomän, och först då hoppar man vidare till nästa domän på grundlistan.

Min spindel lagrar bara texten som står mellan <title> och </title> på förstasidan för en domän, vilket också gör saken mycket enklare... Finns ingen <title>-tag så kommer inte sidan att läggas till ÄVEN om domänen faktiskt existerar och det finns material där. Å andra sidan... Vilket seriöst företag/organisation m.m. lägger upp en hemsida utan en <title>-tag?

Så det spindeln just nu gör är alltså att den kollar om den kan läsa in förstasidan på t.ex. www.a.net, kollar igenom koden för index-sidan, letar upp <title>-tagen, läser in innehållet mellan <title> och </title>, lagrar datan den hittat i en bufferfil lokalt på servern, tar nästa domän i sin fil med buffrade domäner att söka igenom, gör samma sak igen tills alla de 100 buffrade domänerna är checkade och kopplar sedan upp mot min databas och skriver in den data spindeln hittat i den databasen som man söker i.

Fråga gärna om det är något mer du vill veta! För jag har förmodligen inte svarat på din fråga hahaha...

Visa signatur

/Jeppe

Permalänk
Medlem

Precis som i likhet med Golfin så är jag också sugen på att skriva en egen klient, i Java.

Sirjeppe: Har du något emot "tredjepartsklienter" som bidrar i ditt krälande?

(Om inte så vore det också bra med en teknisk dokumentation som beskriver förändringar som du gör, så att tredjepartsklienterna kan hänga med.)

//C

Permalänk
Medlem

Jag har inget emot tredjepartsklienter :)...

Hmm, det vore ju minst ansträngande för mig om du läste PHP-koden haha! Men kan du inte PHP blir det ju värre (för mig), hehe... Men jag skriver gärna hur det funkar, men jag har inte riktigt tid just nu... Måste diska och sedan kommer det folk!

Påminn mig så tar jag det när jag har tid!

Åter igen så är det bara hur kul som helst att ni engagerar er i detta projekt! Kanske kan bli en riktig sökmotor till slut om alla är så här hjälpsamma och trevliga

"Det började som ett hobbyprojekt..." - den har vi ju hört förut!

Visa signatur

/Jeppe

Permalänk

Synd att det är PHP och inte ASP3/.NET du sysslar med... då hade man ju kunnat hjälpa till på andra sätt än att bara köra den spindel ^^

Permalänk
Medlem

Jeppe,
Sitter på jobbet för tillfället så jag kan inte kolla och testa själv... Men skulle det inte gå lite snabbare om man pingade domänen innan man försökte spindla den? Isf så hade man ju bara behövt en liten ping för att se om den svarar och på så sätt slippa sitta och vänta på timeout?

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

Jag har pillat lite Python förut, men inte gjort något seriöst i det för jag har inte kommit på att göra något lämpligt i det. Men nu funderar jag på att göra en egen spindel till ditt lilla projekt. Så jag kommer nog att börja göra en spindel i python under helgen, vi får se hur dte går

Visa signatur

// NonajmE

Permalänk
Medlem

Jo, och det har jag redan tänkt... Vet bara inte hur man ska få ut om den verkligen blivit pingad eller inte..

Om du tittar i källkoden så ser du detta:

Citat:

#if (file_exists("unix")) {
# system("ping -c1 -w1 $address");
# system("killall ping");
#} else {
# system("ping -n 1 $address");
#}

... Någon som vill hjälpa mig med denna funktion? Det skulle gå så sjukt mycket snabbare... Om man kunde sätta en timeout på pingen till typ 1 sekund eller nåt skulle ju allt gå otroligt mycket snabbare!

Visa signatur

/Jeppe

Permalänk
Medlem

En timeout på 1 sek är grymt lång tid... jag tror att standardtiden på en ping (iaf under win2k) är väll 500ms eller så...

En sak till... Hur hämtar du själva sidan?
Går det att bara de första xantal byten? isf så skulle du kunna hämta de ist för att hämta en hel sida...

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

Freakie... jo, det kanske var att ta i, men det är hur som helst bättre än de 30 sek eller vad ni nu har ställt in som timeout på era servrar... Sen kan det ju vara bra att ha lite väl tilltagen tid... 1 sek är som sagt ändå en otrolig förbättring från nuvarande tid...

Har du någon idé om hur koden skulle kunna se ut?

Visa signatur

/Jeppe

Permalänk
Medlem

Jävla dator som inte har den viktiga funktionen cmd! *Grrr*

Hade ju tänkt att testa att pinga en svarande server en gång och en som inte svarar en gång... Sedan så är det ju bara att läsa in svaret i en variabel, exploda så att du får fram raden där du ser om du får svar eller inte och sedan göra en if-sats...

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

man får olika längd på outputen när man pingar och får svar eller inte svar - då är det ju snabbare att bara jämföra längden på strängen... MEN... jag prövade att pinga www.microsoft.com (idiotsäkert svar tänkte jag) men nej! Fick timeout på www.microsoft.com så det sättet skulle förmodligen solla bort alldeles för många domäner :/

Visa signatur

/Jeppe

Permalänk
Medlem

Hmm... Ja det var ju inte bra det... Går det att ställa in time out tiden manuellt i spindeln då?

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

Ja, det går så länge safe mode inte är aktiverat i PHP...

Visa signatur

/Jeppe

Permalänk
Medlem

if safe mode == on then 5sec time out!

Visa signatur

Jag är konstig. Är du?
----
http://posera.nu/

Permalänk
Medlem

if ( ini_get('safe_mode') == "On" ) { //kod

vet inte om det funkar menmen

Visa signatur

Mycket mumbo-jumbo nu känner jag.

Permalänk
Medlem

Jag kommer att flytta över DomainDB till min laptop med linux nu snart... Meddela gärna om ni märker någon effektivitetsförlust eller så...!

När v4.27 kommer så är den flyttad!

//MVH, Jeppe

Visa signatur

/Jeppe

Permalänk
Medlem

Sådär, då är min första version av JSpindel, en spindel som bidrar till DomainDB.

Den är skriven i Java och är en så kallad Java Web Start-version (vilket gör att den automatiskt uppdaterar sig när jag släpper en ny version).

Ni hittar den här: JSpindel

Sirjeppe: Är allt verkligen indexerat som det ska? Det går jättefort att hämta en batch (100st), JSpindel krälar på webben i några sekunder här, och sedan tar det två minuter (!!!) att ladda upp resultatet till dig.

//C

EDIT: Kan ju vara så att du har en väldigt sunkig ADSL-lina också iofs.

Permalänk

Inserts i hans antagligen indexerade tabell är mycket dyrare än select så det tar ju längre tid att spara data. Men 2 min verkar skumt

Permalänk
Medlem

Just nu sitter jag på Bredbandsbolagest 100/10-lina så det borde inte gå speciellt långsamt... Däremot flyttade jag över databasen inatt till min laptop (som inte är speciellt kraftfull) men jag antar att du använder domaindb.mine.nu för att koppla upp mot databasen?

Nu för tiden ska du använda: weston.mine.nu istället!

Jag gjorde en liten justering i indexeringen inatt också som jag såg... Bytte värde på varchar från 255 till 6 på top-domänen...

Har du några tips på hur den kan göras bättre?

//Jeppe

Visa signatur

/Jeppe

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sirjeppe

Nu för tiden ska du använda: weston.mine.nu istället!

Jag böt mot weston i morse, då jag inte har permissions att göra insert längre på den gamla.

Det görs ju två selects för varje "addering" så att säga, för att avgöra ifall man ska göra insert eller update. Vilkoren där, både när det gäller checklist och checkeddomains är ju fälten address och top. Finns inte de fälten indexerade så kommer ju det bli en linjärsökning över alla poster för varje addering, vilket kommer bli mer och mer kostsamt beroende på hur stor databasen blir.

//C

EDIT: Böt och la till några förlorade ord.

Permalänk
Medlem

Ah, ok!... Ja, index ja... :$ heh... Jag indexerar address och top på en gång i alla databaser! Primary index kan man bara använda på int va?

Finns det någon nackdel med att ha index för varje kolumn?

Visa signatur

/Jeppe

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sirjeppe
Ah, ok!... Ja, index ja... :$ heh... Jag indexerar address och top på en gång i alla databaser! Primary index kan man bara använda på int va?

Nej, en primärnyckel (vilket primary index tillhör) kan vara av de flesta typer.

Dock så har du ju ett id-fält, och det är väl bra ifall bara den räknas som primärnyckel.

Om du bara skapar två ytterligare index för top och address så borde det nog ske mirakel 8-) (jag ser ingen nytta med ett aggregerat index här).

//C

Permalänk
Medlem

Såhär ser indextabellen ut nu för checkeddomains:

PRIMARY PRIMARY 77235 Ändra Radera id address INDEX 38617 Ändra Radera address top INDEX 168 Ändra Radera top title FULLTEXT 1 Ändra Radera title

OBS! När de 457021 domäner som just nu finns i listan är genomsökta tycker jag att vi ska ha en spindel färdig som kan söka igenom den första domänen efter länkar på sidan till nya domäner, sedan kolla dom efter nya domäner osv... Så det verkligen blir en kravling

Visa signatur

/Jeppe