标签:资源 sts 完成 模式 服务器 业务逻辑 问题 sql语句 逻辑
一、网络通信
软件系统都是通过网络进行数据传输的,如果网络带宽不够支撑起一定数量的用户,就会导致系统性能难以提升!
这也就是为什么做性能测试的时候,需要保证测试环境的独立。防止测试的时候,有其他的操作占用系统性能。
比如大量数据处理一类的批处理业务操作,会持续占用系统内存,cpu,影响性能测试结果。
二、硬件资源
服务器的硬件配置如果过低,也是会导致性能补足,因为硬件配置过低,本身性能指标就不高。
这时候就需要根据性能要求更换服务器相关硬件,或者是增加相关的硬件。
三、sql语句执行过慢
可以通过慢查询日志,确定需要优化的sql语句(可以使用索引优化sql语句的执行效率)
1.避免查询 * (所有)列,通过指定字段的查询方式进行查询
2.优先使用select....into,然后使用insert....into,避免表锁死的情况发生
3.避免使用NOT IN,可以采用IN,EXISTS NOT EXISTS和LEFT JOIN 加空值判断。
四、优化代码
1.优化代码逻辑:
2.递归:
3.优化日志级别
4.使用异步模式
这里就是要考虑相关代码的执行逻辑以及数据的处理方式,比如简单的 for 循环,尽量使用列表推导式来完成。
五、服务器集群
如果上述问题解决以后,依旧没有达到预期的性能指标。这时候就要考虑服务器集群了。
将多台服务器集中起来(剑圣:集中起来的意志,可以击穿顽石~),进行同一种服务,从客户端的角度看,就像是一台服务器。使用集群可以将单服务器的压力充分分散给各服务器,从而提升服务器的整体性能。
六、业务逻辑的优化处理
如果还是不行,就考虑优化业务逻辑了,比如3个请求可以做完的事情,就可以简化一些无谓的请求和业务操作。
标签:资源 sts 完成 模式 服务器 业务逻辑 问题 sql语句 逻辑
原文地址:https://www.cnblogs.com/Super-Treasure/p/12173116.html