开发者您好,这是我在这个平台上的第一篇文章! ?
我想分享我在 Express.js 和 SQL 方面的令人惊讶的体验。我是一名初学者开发人员,在为我的项目开发 API 时,我每天处理超过 20 万个 API 请求。最初,我使用 Express.js API 设置了一个 SQLite 数据库(约 400 MB),并使用 Node.js 缓存来加快速度。
起初,查询的响应时间约为 200-300 毫秒,因为它涉及多个 JOIN 和搜索。因此,我决定进行一些实验,看看是否可以提高性能。
这就是我所做的:
结果令人惊讶!建立索引后,我的一些更复杂的查询(涉及多个 JOIN)只需 3-5 毫秒即可执行。
以前,使用节点缓存:
之后,仅使用 SQLite 索引:
每个请求只需要7-10毫秒没有任何缓存。
现在查询始终很快,这也减少了服务器负载!最初,我在具有 4 GB RAM 和 4 个 vCPU 的 DigitalOcean Droplet 上运行我的应用程序。但优化 SQL 查询后,我只需 2 GB RAM 和 2 个 vCPU 就可以轻松处理相同的工作负载。
我知道这听起来很简单,但是正确的 SQL 索引对查询性能产生了很大的影响,我什至不再需要依赖缓存。 ?
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3