|
Things you can do to improve startup performance: Only include the code your function actually needs to do its job. Don't use libraries and frameworks that load a lot of stuff you don't need. The general point here is that the less code you need to explain, the simpler your dependency tree will be. The processing speed is faster. Don't do more work than needed. Any value calculations or expensive operations that may be reused each time the function is called should be cached as variables outside the handler scope. Doing this avoids performing these expensive operations every time the function is called. Consider a situation where the values stored in the database change infrequently such as configurable redirects. Although this code works but the query to find the redirects is run every time the function is called.
This is not ideal as it requires accessing the da photo editing servies tabase to find the value you already found during the last call. A better way to write it is to first check the cached value outside the handler. If not found then run the query and store the results for next time The query will now only run the first time the function is called. Any subsequent calls will use the cached value. One final thing to consider is using provisioned concurrency to keep things warm if you use them. According to the documentation note that provisioning concurrency initializes the requested number of execution environments so that they are ready to respond immediately to function calls. Please note that configuring provisioned concurrency will incur charges to your account. This allows you to maintain a specified number of available execution environments that can respond to requests without cold-starting. While this sounds great, there are some important things to remember that using provisioned concurrency will incur additional costs.
Your application will never scale down to these. as the added cost may be for your specific scenario. not worth it. Before taking this step we recommend that you look at the value it brings to your application and consider whether the added cost makes sense. Conclusion In this article we looked at some of the best practices we recommend for developers building and deploying serverless functions. The enhancements and best practices mentioned in this article are not intended to be an exhaustive list. To quickly recap we recommend that you host your database as close as possible to your deployed functions run as much code as possible outside of handlers cache reusable values and calculations as much as possible keep your functions as simple as possible if you If you're willing to deal with the financial trade-offs, please consider using preconfigured concurrency. Thank you for your interest. We hope you find this .
|
|