On Friday, September 2, 2016 at 6:50:58 AM UTC-7, Shawn Smith wrote:
>
> Hi,
>
> I'm one of the maintainers of Go Report Card http://goreportcard.com/ and 
> I am looking for advice on how to make it faster.
>
> Basically we run a series of checks (gofmt, vet, etc.) on your Go 
> repository and provide a grade based on how many errors each check returns. 
> Each check runs in a separate goroutine (
> https://github.com/gojp/goreportcard/blob/master/handlers/checks.go#L124), 
> and they are all shelling out using exec.Command (
> https://github.com/gojp/goreportcard/blob/master/check/utils.go#L170).
>
> The server we run this on is a Digital Ocean droplet with 1 GB of RAM 
> (would upgrading it help?)
>
> We normally only see issues on repositories with a very large number of 
> files.
>
> Any help/feedback is appreciated!
> Shawn
>

Insufficient data to provide a meaningful answer. A question about 
performance problems with no information about the runtime behavior of a 
system is bound to receive general guesses at best.

That said, here are some general guesses, with hints as to figure out which 
cause is the real one:

- Is the CPU maxed out? Then probably you need more CPU, or need to make 
gofmt, vet, etc. faster, or do fewer analyses.
- Is the resident memory maxed out? Then you are probably hitting swap, 
which is slow. Get more memory or reduce your working set.
- Otherwise, there's a good chance it's IO. There are a lot of potential 
solutions here depending on which specific IO constraint is causing the 
problem.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to