gpt4 book ai didi

Django/Sqlite 提高数据库性能

转载 作者:行者123 更新时间:2023-12-03 17:32:30 25 4
gpt4 key购买 nike

我们正在使用 Django 开发在线学校日记应用程序。原型(prototype)已经准备就绪,该项目将于明年与大约 500 名学生一起上线。最初我们使用 sqlite 并希望对于初始实现它会表现得足够好。数据表是为了获取学校一天的详细信息(期间、类(class)、教师、教室,使用了许多表,并且在相当快的 PC 上访问数据库需要 67 毫秒。大部分数据在一年开始后是静态的,教室可能会发生微小变化。我想为每个学期的每个学生提取时间表,这样就不需要表连接了。我将这些数据放入一个学生的文本文件中,文件大小为 100K。读取此数据并针对一天的时间表对其进行处理所花费的时间约为 8 毫秒。如果我在登录时预加载数据并将其存储在 session 中,则登录时需要 7 毫秒,每次查询需要 2 毫秒。对于 500 名学生,使用这种方法会对 Web 服务器产生什么影响,还有哪些其他选项(例如,将学生文本文件放入某种内存缓存而不是 session 中?)不会有大量的数据输入、学生添加笔记、老师也不会,所以它主要是检查时间表状态并查看当天或一周的事件。

最佳答案

您预计的响应时间是多少?您预计每分钟的请求数是多少?请求的数据库访问(这可能是缓慢的部分)的二十分之一秒对我来说听起来不是问题。 SQLite 应该在像这样的以读取为主的情况下表现良好。所以我不相信你甚至有性能问题。

如果您想要更快的响应,您可以考虑:

  1. 首先,检查您的索引并分析各个检索以查找性能瓶颈,确保您拥有最佳响应时间。
  2. 预先计算系统的静态部分并存储 HTML。您可以将 HTML 直接放回数据库或将其存储为磁盘文件。
  3. 仅将数据库用作后备存储(以在服务器关闭时保存系统状态)并在系统启动时将整个内容读入内存结构。这消除了对数据的磁盘访问,尽管它限制了您只能使用一台物理服务器。

关于Django/Sqlite 提高数据库性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13150174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com