database - 随着数据量的增加确保数据库性能

标签 database performance

我目前正在进行性能调整练习。该应用程序是数据库密集型的,处理逻辑很少。性能调整是围绕数据库调用的方式和数据库本身进行的。

我们进行了查询调优,放置了缺失的索引,尽可能减少或消除了数据库调用。该应用程序运行良好,一切正常。

对于较小的数据量(比如最多 100,000 条记录),性能非常出色。我的问题是,需要做什么才能确保在更高的数据量下有如此好的性能? 预计数据量将达到1000万条记录。

我可以想到表和索引分区,建议为数据库存储和定期归档优化文件系统以控制行数。我想知道还能做什么。任何提示/策略/模式都会非常有帮助。

最佳答案

监控。使用一些工具来监控性能以及 CPU、内存和 I/O 的饱和度。绘制趋势线,以便在到达之前知道下一个瓶颈在哪里。

测试。创建模拟数据,以便您今天在测试服务器上有 1000 万行。对您的应用程序中的查询进行基准测试,看看它们作为数据量增加。您可能会对最先发生故障的东西感到惊讶,或者它可能会完全按照预期进行。关键是您可以找出

维护。确保您的应用程序和基础架构支持一些停机时间,因为这始终是必要的。您可能需要对索引进行碎片整理和重建。您可能必须重构某些表结构。您可能必须升级服务器软件或应用补丁。要在不中断连续运行的情况下执行此操作,您需要在设计中内置一些冗余。

研究。为您正在使用的数据库品牌找到最好的期刊和博客,并阅读它们(例如 http://www.mysqlperformanceblog.com 如果您使用 MySQL)。你可以像你在这里问的那样提出很好的问题,但也可以阅读其他人的提问,以及他们被建议如何处理。您可以学习解决您甚至还没有的问题的方法,这样您有了它们时,您就会有一些策略可以采用。

关于database - 随着数据量的增加确保数据库性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930347/

相关文章:

arrays - 如何正确地将数组保存到数据库中?

bash - 从多个视频中快速提取多个帧

performance - 在恒定时间内更新连续数字序列的平均值

ios - 使用 VBO 的 OpenGL ES iOS 绘图性能比不使用 VBO 慢很多

r - 加速填充函数R

mysql - 列出共享完全相同的列名的所有表

php - 无法从 Android 连接到 PHP 中的数据库

Android SQLite - 没有这样的表错误(代码 1)

php - 用条件更新查询?

arrays - 如何处理大数据(约50000个对象)的Vue 2内存使用情况