Python på webhotell/VPS/Annet

Jeg har et python-script som kjører en del simuleringer og dette tar litt tid. Jeg vil helst at det skal kjøre konstant rundt en ukes tid, men av forskjellige grunner vil jeg unngå at dette gjøres på min egen maskin. Spørsmålet er da om det er mulig å gjøre dette på en annen, leid server, slik at jeg kan starte simuleringen og la den gå så lenge jeg ønsker uten å bekymre meg. Kan alternativt skrive om koden til PHP eller lignende, og sette det opp som en nettside, men antar at det vil gjøre simuleringen ganske mye tregere?

Har prøvd å google litt, men vet ikke helt hvor jeg skal begynne. Trenger ingen ABC-oppskrift, bare litt info om hva slags teknologi man kan bruke til dette.

På forhånd takk!
 

adeneo

Medlem
Alle VPS'er kommer normalt kun med valgt operativsystem, og muligheten til å legge inn akkurat hva du ønsker, enten det er Node, PHP, Python, COBOL, Simula, PornMaster 4.0 eller whatever.
De fleste Linux distroer kommer forøvrig med Python ferdig installert som default.

Nå er det kanskje ikke nødvendig å betale leie for en VPS for å kjøre et script i en uke, du kan vel gratis sette opp en instans på Google's Cloud Platform eller hos Amazon, på for eksempel en EC2 server, og sikkert også hos Heroku og flere andre.
 
Alle VPS'er kommer normalt kun med valgt operativsystem, og muligheten til å legge inn akkurat hva du ønsker, enten det er Node, PHP, Python, COBOL, Simula, PornMaster 4.0 eller whatever.
De fleste Linux distroer kommer forøvrig med Python ferdig installert som default.

Nå er det kanskje ikke nødvendig å betale leie for en VPS for å kjøre et script i en uke, du kan vel gratis sette opp en instans på Google's Cloud Platform eller hos Amazon, på for eksempel en EC2 server, og sikkert også hos Heroku og flere andre.

Ok, så jeg kan bare bruke putty eller noe sånt da, og kjøre programmet fra en Linux-terminal? Regner med at dette ikke er mulig på et webhotell.

Vet du hvordan hastigheten vil være sammenlignet med min egen PC? (Helt standard, verdi ca. 5000 og Ubuntu som operativsystem) Når man skal kjøre programmet såpass lenge vil naturligvis hastigheten ha en del å si.
 

mra

Active Member
Om ikke scriptet ditt trenger mye RAM burde en enkelt VPS til U$5/måned fra DigitalOcean holde lenge. Du kan kjøre ditt script via terminal, akkurat som når du kjører det lokalt, bare husk å bruke "screen" eller tilsvarende slik at scriptet fortsetter å kjøre selvom du avslutter terminal-forbindelsen til serveren.
 

adeneo

Medlem
Og for å nevne det igjen, du kan gjøre dette helt gratis på Googles Compute Engine eller fortrinnsvis hos Amazon, hvor du er oppe å går etter et par klikk, og kan kjøre Python scriptet ditt.

AWS har en guide til hvordan man benytter deres tjenester med Python, kanskje ikke så relevant kun for å kjøre et script på et datasett, men det viser litt hvor enkelt er.
 
Har nå prøvd litt forkjellige varianter av CPU og minne hos Google Compute Engine. Men på et punkt slutter algoritmen å bli raskere. Det eneste som skjer er at maskinen bruker en litt mindre andel av CPUen. Hva er grunnen til dette?
 

adeneo

Medlem
Det er nok vanskelig å svare på, men dersom for eksempel scriptet ditt ikke multithreader, så hjelper det lite å legge til flere prossesortråder, når du kun kan utnytte en tråd allikevel.

På et eller annet tidspunkt kommer du vel til et punkt hvor du ikke får utnyttet mer minne heller, uten å forke flere prosesser å kjøre på flere tråder osv.

Det finnes vel moduler for multithreading -> https://docs.python.org/2/library/threading.html

Selv med flere tråder, så benytter Python interleaving, slik at prosessene kjøres i serie, ikke i sann parallellisme, og da kommer det jo an på om du har behov for interpreteren eller bare trenger I/O.

Dersom du trenger interpreteren, og vil kjøre flere prosesser parallelt, så finnes det moduler for multiprocessing -> https://docs.python.org/2/library/multiprocessing.html
 
Topp