Coder Social home page Coder Social logo

Comments (5)

zhangtbj avatar zhangtbj commented on September 28, 2024 1

Hi @otaviof and @sbose78 ,

I think I found the root cause on our tenant env.

Because we have limtRanges setting for each tenant namespace like this:

spec:
  limits:
  - default:
      cpu: 100m
      memory: 1Gi
    defaultRequest:
      cpu: 100m
      memory: 1Gi
    max:
      cpu: "8"
      memory: 32Gi
    min:
      cpu: 10m
      memory: 128Mi
    type: Container

So the build container cannot get too much resources to build then slower than before by using cluster admin.

So I have a question, how about the build v1 in your openshift before?

  • Do you have any resource limitRanges or what CPU and memory sizes are appropriate?
  • Is there any best practice about the related setting?

Thanks!

from build.

zhangtbj avatar zhangtbj commented on September 28, 2024 1

This issue is fixed by PR: #92

We can close it.

Thanks!

from build.

otaviof avatar otaviof commented on September 28, 2024

@zhangtbj hello! would you provide more details about your setup? It sounds rather strange that cluster-admin would provide different performance.

from build.

otaviof avatar otaviof commented on September 28, 2024

Good to hear you've figured it out.

So I have a question, how about the build v1 in your openshift before?
* Do you have any resource limitRanges or what CPU and memory sizes are appropriate?

Currently the BuildStrategy (and also ClusterBuildStrategy) are defining core-v1 Container, and we are not setting any resource limits on them.

Furthermore, to tweak the resource limits a user would have to do so in the BuildStrategy level. Should we consider exposing the resource limits from the Build object itself?

* Is there any best practice about the related setting?

I think a good practice is to have resource limits set, and accordingly to the workload you expect on them.

Thanks for bringing this up, that's a good subject to discuss. :-)

from build.

zhangtbj avatar zhangtbj commented on September 28, 2024

For us, maybe the resource limits on BuildStrategy level is not enough :), because we have the limitation on namespace level first and we need to follow that.

I did some deep test today, and I found the limitation on our side is spec.limits.default.cpu, here is my result:

spec.limits.default.cpu = 100m, buildpacks runs 3m30s
spec.limits.default.cpu = 500m, buildpacks runs 57s
spec.limits.default.cpu = 1G,   buildpacks runs 43s
spec.limits.default.cpu = 2G,   buildpacks runs 41s

spec.limits.default.cpu = 100m, kaniko runs 7m
spec.limits.default.cpu = 500m, kaniko runs 108s
spec.limits.default.cpu = 1G,   kaniko runs 68s
spec.limits.default.cpu = 2G,   kaniko runs 70s

spec.limits.default.cpu = 100m, buildah runs 10m
spec.limits.default.cpu = 500m, buildah runs 2m24s
spec.limits.default.cpu = 1G,   buildah runs 83s
spec.limits.default.cpu = 2G,   buildah runs 59s

From the result, I think 500m - 1G spec.limits.default.cpu setting is enough for us.

FYI, I think it should be also useful for you :)

from build.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.