FAQ |
Kalender |
2016-02-16, 09:55 | #21 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Här är en del bra info från Moz om deras problem som de stött på: https://moz.com/blog/mozscape-index-2015 Innan jag startade Domainstats hade jag själv ingen aning hur stor den asiatiska delen av internet var. Jag slösar dock inga resurser alls på den delen i Domainstats. |
|||
Svara med citat |
2016-02-16, 11:12 | #22 | ||
|
|||
Flitig postare
|
Bra & snabb tjänst och superintressant att läsa Jim! Skriv gärna mer om tjänsten när du har tid.
|
||
Svara med citat |
2016-02-19, 21:48 | #23 | |||
|
||||
Flitig postare
|
Hur ofta uppdateras informationen? Ser min sida lägenheter24.se har en screenshot från i somras vilket är väldigt annorlunda mot hur sidan ser ut idag http://domainstats.io/lagenheter24.se
Riktigt intressant tjänst att se samlade stats över sina sidor, do like! |
|||
Svara med citat |
2016-04-11, 10:36 | #24 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Olika typer av data uppdateras olika regelbundet. Till exempel sceenshots inte så ofta eftersom det är miljontals domäner. Men jag körde precis en uppdate på lagenheter24.se så att den är aktuell. Nytt med DomainStats:
|
|||
Svara med citat |
2016-05-11, 13:28 | #25 | ||
|
|||
Hej, jag är ny här.
|
Hej Jim!
Jag gillar den skarpt och använder den frekvent "mot" mina konkurrenter och mig själv 2 saker som jag ser när jag gör en sökning på min sida m3storage.se En del element uppdateras inte så ofta, varför? Sen förstår jag inte varför sidan inte visas som indexerad i google, när den är synbar i sökningen? Tack på förhand! Mvh. Nybörjaren.. |
||
Svara med citat |
2016-05-30, 13:38 | #26 | |||
|
||||
Har WN som tidsfördriv
|
Hej Franzen och tack.
Citat:
Citat:
|
|||
Svara med citat |
2016-05-30, 13:39 | #27 | |||
|
||||
Har WN som tidsfördriv
|
Tänkte skriva lite om de senaste äventyren jag haft med Domainstats uteckling. Finns en del som är intresserade av att läsa hur det går. Jag sitter även just nu själv så även kul att dela med sig.
Servern började gå på knäna och jag visste att det var mysql. Load låg konstant på ca 10 och queries köades upp hela tiden, sajten var riktigt seg, och då hade jag ändå stängt av alla cronjobben (datainsamling, crawling). Databasen var en compressed innodb på ca 100 GB. Den största tabellen med länkarna var över 50 GB med ca 550 miljoner rader. Även med perfekta index så hjälpte det inte, alla queries som rörde den tabellen var seg. Snitttiden för Googlebot att hämta URLer blev som värst 18 sekunder. Det andra stora problemet var att det endast fanns 40 GB kvar innan hårddisken skulle ta slut och jag vet att jag vill ju crawla och spara mycket mer länkar, kanske tiodubbelt så mycket. Fast besluten att lösa detta så studerade jag en massa andra olika NoSQL databaslösningar och fastnade till slut för mongodb och cassandra. Jag måste välja en av dessa och jag läste väldigt mycket på nätet om dessa 2 lösningar. Jag anlitade även en del personer genom upwork men det gick inte så bra så jag beslöt mig för att fixa det själv istället. Jag valde till slut cassandra eftersom det finns en hel del fall där startups flyttar från mongodb till cassandra men jag har aldrig stött på någon som gjort det omvända. Cassandra verkar även mycket bättre när det handlar om intensivt med writes vilket det är i mitt fall. Jag beställde den dedikerade servern #2 (EX51-SSD hos Hetzer) och fick den installerad i samma datacenter. Installation av Cassandra var rätt enkelt förutom lite klydd gällande rätt version av java. Däremot att få PHP drivern installerad var ett jävelskap som tog rätt många timmar att lösa. Installation enligt instruktionerna går inte utan blir konflikt med någon dependency gällande libuv osv ... men jag löste det till slut. Jag hade helst velat ha PHP 7 såklart men det fick jag skippa eftersom det inte gick med drivern. Jag flyttade sedan ca 3 miljoner filer från server 1 till server 2 med hjälp av tar och rsync (favicons, printscreens och cache-filer) och ändrade om mysql så att php på server 2 kopplar till mysql på server 1. Ändrade sedan om i DNS och det fungerade felfritt i stort sett direkt (förutom en miss att php måste äga filerna och inte root men det var snabbt ändrat). Nu på server 1 fanns det bara mysql och inget annat. Steg 1 klart. Server 2 hade nu ingen load alls och server 1 gick fortfarande på knäna men det gick minimalt bättre, nåja. Steg 2: Skriv om PHP så att inga MySQL joins görs mot de stora tabellerna. Cassandra stödjer inte heller joins. Detta blev klart och load gick ner en hel del. Detta steg gick faktiskt smidigt. Steg 3 flytta den största tabellen till cassandra. När du skapar tabellen så är det väldigt viktigt att klura ut hur din nyckel ska se och detta var lite knepigt. Här rekommenderar jag att man testar och verkligen är säker innan man tar nästa steg. Mycket bra info här http://stackoverflow.com/a/24953331/1554653. Jag kom fram till 1 primärnyckel med 2 klusternycklar som bästa val för min tabell. Steg 4, importera data från MySQL till Cassandra. Här skrev jag ett enkelt skript i PHP som loopar och insertar. Till en början gjorde jag ca 4000 inserts per sekund men ökade sedan till ca 12 000 vilka var inga problem alls för Cassandra - flaskhalsen var selecten från mysql. Tänk dock på att 12 000 per sekund = ca 13 timmar non-stop för 550 miljoner rader. Min laptop fick vara igång och köra under natten. Sista steget var att sedan ändra i PHP så att den data som nu finns i cassandra selectas därifrån och det var faktiskt lätt. Jag droppade sedan den 50 GB stora tabellen och startade om mysql. Jag har nu åter aktiverat cron-jobben och load är nu: server 1 (mysql): 2,4 server 2 (php, cassandra, filer): 0,3 Och snitthämtningstid för Googlebot har gått ner till ca 5 sekunder. Detta är grymt bra. En annan sak som förvånar mig är att dels är cassandra blixtsnabb och dels så använder den mycket mindre utrymme på disk än vad compressed innodb gjorde - ca hälvten och då har jag ändå replication 1. Nästa steg är att flytta över andra tabeller från mysql till cassandra men det blir lite svårare och de är inte alls lika stora så det är ett senare projekt. Jag vill kunna crawla och spara tillräckligt mycket länkar för att kunna skapa min egen länksiffra likt trustflow eller liknande och det känns nu möjligt att kunna göra detta vilket känns jättebra. |
|||
Svara med citat |
2016-05-30, 14:12 | #28 | ||
|
|||
Supermoderator
|
imponerande, jag brukar testa en del sidor på din tjänst.
Det jag tycker är lite störande är att man måste logga in för att se en del grejer. |
||
Svara med citat |
2016-05-30, 14:28 | #29 | ||
|
|||
Medlem
|
Jim:
Av erfarenhet, så är det Index som tar plats i SQL databaser. Hur stor är skillnaden om du enbart väljer datamängder. Cassandra har inte direkt index på samma sätt som SQL så då jämnför du lite äpplen och päron känns det som. |
||
Svara med citat |
2016-05-30, 16:26 | #30 | |||
|
||||
Har WN som tidsfördriv
|
Ja, man behöver logga in för att se vissa saker eftersom det kräver api calls av tredjepart för att räkna ut dessa och det är rätt många besökare nu som inte är inloggade.
nim, du har rätt. Index stod för nästan halva datamängden. |
|||
Svara med citat |
Svara |
|
|