我目前正在进行性能调整练习。该应用程序是数据库密集型的,处理逻辑很少。性能调整是围绕数据库调用的方式和数据库本身进行的。
我们进行了查询调优,放置了缺失的索引,尽可能减少或消除了数据库调用。该应用程序运行良好,一切正常。
对于较小的数据量(比如最多 100,000 条记录),性能非常出色。我的问题是,需要做什么才能确保在更高的数据量下有如此好的性能? 预计数据量将达到1000万条记录。
我可以想到表和索引分区,建议为数据库存储和定期归档优化文件系统以控制行数。我想知道还能做什么。任何提示/策略/模式都会非常有帮助。
最佳答案
监控。使用一些工具来监控性能以及 CPU、内存和 I/O 的饱和度。绘制趋势线,以便在到达之前知道下一个瓶颈在哪里。
测试。创建模拟数据,以便您今天在测试服务器上有 1000 万行。对您的应用程序中的查询进行基准测试,看看它们作为数据量增加。您可能会对最先发生故障的东西感到惊讶,或者它可能会完全按照预期进行。关键是您可以找出。
维护。确保您的应用程序和基础架构支持一些停机时间,因为这始终是必要的。您可能需要对索引进行碎片整理和重建。您可能必须重构某些表结构。您可能必须升级服务器软件或应用补丁。要在不中断连续运行的情况下执行此操作,您需要在设计中内置一些冗余。
研究。为您正在使用的数据库品牌找到最好的期刊和博客,并阅读它们(例如 http://www.mysqlperformanceblog.com 如果您使用 MySQL)。你可以像你在这里问的那样提出很好的问题,但也可以阅读其他人的提问,以及他们被建议如何处理。您可以学习解决您甚至还没有的问题的方法,这样当您有了它们时,您就会有一些策略可以采用。
关于database - 随着数据量的增加确保数据库性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930347/