zoukankan      html  css  js  c++  java
  • 经常会遇到的性能优化的问题-----聊聊

    1、应用高并发如何优化

    • 架构优化
      • 软硬负载均衡的使用
      • 缓存的使用
      • 快速读写的使用
      • 处理复杂度比较高且可以剥离使用异步的,使用异步响应  
    • 代码优化
      • 避免死锁
      • 锁粒度的控制
      • 线程池的使用:业务复杂度的控制
      • 内存分配:避免大块内存的分配,避免内存泄漏的发生,避免递归调用,threadlocal使用时,在业务逻辑结束时,显示调用remove方法。
      • cpu资源的使用:线程的合理分配及回收,优先级等的出让,IO模式的使用
      • 异常的捕捉处理
    • 一句话,高并发,就在于cpu的高度利用,以及io等的高度配合,所以阻塞模式如bio等是一个大大的阻碍,而同步计算时长时间耗时的处理
    • 当然最终目的是,对用户或者调用方的及时响应    

    2、数据库怎么优化

    • 存储优化
      • 持久性:主备,避免单点问题
      • 合适的存储引擎选取
      • 合适的raid级别
      • 网络及连接数、编码等参数的设置  
    • 访问优化
      • 访问次数同获取内容量之间的折衷
      • 链接的合理重复利用:常见连接池
      • 读缓存优于读磁盘
      • 建立合理的索引并利用
      • 避免添加列的修改  
    • sql优化
      • 合理利用索引
      • fetch适当的数据:避免全部捞取,占用带宽
      • 排序或者复杂逻辑尽量在程序部分使用
      • 使用执行计划
      • 对慢查询优化
      • 分库分表的使用
      • 缓存的使用:对于非实时性要求特别高或者统计类的数据展示,可以引入缓存
      • nosql的使用:合理的使用
    • 当然DBA的介入非常必要,专业。    
  • 相关阅读:
    学习Python之路
    基本数据类型
    pthon之变量
    函数、参数、局部函数and函数内变量修改、嵌套函数
    文件操作M2
    文件IO操作二
    文件I/O操作
    字符编码
    数据类型之集合,数据类型总结
    数据类型之列表和元组
  • 原文地址:https://www.cnblogs.com/leeying/p/3877662.html
Copyright © 2011-2022 走看看