Comments (5)
First, it's worth noting that poolmgr is only on the cold-start request path, so it won't need to scale as much as other components, such as the router. Also, most of its work is async (waiting for fetcher, waiting for the function to be loaded, waiting for pods to be ready, etc.), so we should get pretty far with just one instance.
When we do reach its limit, we could persist the instanceId in etcd; multiple instances would then operate on the same generic pool.
from fission.
it seems like there is a single point bottleneck in poolmgr, because every warm request need to call go fh.tapService(serviceUrl), and tapService call err := fh.poolmgr.TapService(serviceUrl) to call poolmgr's API, so when massive function call coming, especially after the router scale out, poolmgr must be the bottleneck.
from fission.
Yeah... in hindsight I'm not too happy about this tapService design. We should probably have pods just destroy themselves when they're idle, and have poolmgr and router deal with the edge cases that come up when we do that.
Though note that the call to tapService is async, so the warm request latency overhead doesn't directly include the poolmgr tapService latency.
from fission.
Yeah, I agree with you. It maybe a better method that run-time framework of each language recording the last calling time, and check it in a short period, when it's idle, then exit.
from fission.
There's room for improvement here but no actual bugs, so I'm going to close this for now. I'd like to actually see how far the current design can get before making it more complex. (The current design also has the nice property that language-specific code remains simple.)
from fission.
Related Issues (20)
- client version and server version not match HOT 1
- How to count the 99% tail delay quantile of Fission
- Utilize .Release.Name as Standard Prefix for All Kubernetes Resources in Helm Chart
- [help] how to build fission-bundle image
- Unable to Create Duplicate HTTP Trigger Names Across Different Namespaces HOT 1
- Fission watch all namespaces HOT 1
- Loki integration Issue HOT 5
- Router cannot create resource Ingresses HOT 2
- Fission helm conflicts with Rancher
- [help] Is it possible to create a Python function from a zipped release in GitHub?
- Failed to create MessageQueueTrigger HOT 1
- "fission check" does not work outside of "fission" namespace
- Thoughts on the Functional Positioning of the Executor Component
- fission package build stuck in running HOT 1
- Package build trigger mechanism (esp. if fission packages are deployed with gitops)
- help,help,help v1.18.0 I get error buildermgr , envwatcher not get watcher to create env by controller
- Package auto retry rebuild HOT 1
- fetcher archive code why use DefaultZip HOT 1
- Download source code to file error when using fission command
- fission spec apply --delete fails to delete environment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fission.