2

I am using a google cloud app engine to deploy my quic-go server. But getting the error:

failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB).

I am using app.yaml file to build a docker file which is as follows:

FROM golang:1.18.3
 
RUN mkdir /app
ADD . /app
WORKDIR /app

RUN apt-get update && apt-get install -y ffmpeg

CMD sudo --sysctl net.core.rmem_default=15000000
CMD sudo --sysctl net.core.rmem_max=15000000


RUN go build -x server.go 

ENV   GCS_BUCKETNAME  xyz
ENV  AI_CLIENT_SSL_CERT  /path to cert 
ENV  AI_CLIENT_SSL_KEY  /path to key
ENV  GCP_BUCKET_SERVICE_ACCOUNT_CREDS /path to google cloud service account credential

CMD [ "./server" ]

This is my app.yaml

runtime: custom
env: flex
env_variables:
  GCS_BUCKETNAME : "xyz"
  AI_CLIENT_SSL_CERT : "./path to cert"  
  AI_CLIENT_SSL_KEY : "./path to key"
  GCP_BUCKET_SERVICE_ACCOUNT_CREDS : "./path to google cloud credential.json file"


service: streaming-app

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 20
  cpu_utilization:
    target_utilization: 0.85
  target_concurrent_requests: 100

Any sort of help will be appreciated.

blackgreen
  • 34,072
  • 23
  • 111
  • 129
  • 1
    Can you check this [GitHub link](https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size) once? – Roopa M Jul 12 '22 at 10:57
  • No this does not work as it could not find rem_default file or max file on the host i think this issue is related to kernel as i was using a cloud shell editor in VM for a project and when i tried to find the value of net.core.rmem_max then this file was not present in the host directory (proc/net/core/rmem_max). can you tell me the scenerios when this file is not present in the kernel. – Sachin sachan Jul 18 '22 at 12:53

1 Answers1

0

Since sysctl is an OS-level config that doesn't fit in line with App Engine's principle use case. App Engine does not currently have any way of configuring the underlying sysctl config files. I believe that Google Kubernetes engine may be a better use case for running that server, as App Engine environments have a limited set of configurable settings.

can you tell me the scenarios when this file is not present in the kernel?

I’m not sure about the scenarios as I have least experience with kernel. For me it seems a different question rather than original post. you can raise a new StackOverflow question regarding this.

Harsh Manvar
  • 27,020
  • 6
  • 48
  • 102
Roopa M
  • 2,171
  • 4
  • 12
  • Thanks for the answer but for the time being I decided not to use app engine as i could not increase the packet size there. – Sachin sachan Jul 19 '22 at 12:58