本文首发于个人微信公众号《andyqian》,期待你的关注!

前言

有好几天没有更新了,期间确实比较忙些,以至于周末也没休息。在这期间,感触还是蛮深的。现在碎片化的想法等整理好后,再以文章的形式分享出来。今天要说的是另外一个主题。我们在做系统设计时,时常会遇到系统中的一些小细节。成为系统的瓶颈。活生生的拖垮系统。那么到底是谁拖垮了你的系统呢?这就是今天要说的主题。

万恶的超时时间

这是一个容易忽略的小细节。但同时也是一个雷点。一不小心就会入坑。在超时时间方面,主要体现在: Http 接口请求时间,读取时间等。服务之间调用超时时间等等。

试想一下: 我们在请求时没有设置超时时间会发生什么

以登录为例,如下图所示:

流程:用户点击登录后,你服务内部没有设置请求超时时间。假设用户服务不稳定,一致在等待用户服务返回结果。此时线程一直挂起。导致客户迟迟没有接收到响应。严重时甚至导致app闪退。

慢SQL

在数据库方面优化,在之前的MySQL系统文章中说过不少。主要分为存储引擎的选择。以及SQL优化。在SQL优化方面有索引的合理选择,在索引选择方面,我们可以通过区分度来作为索引字段选择的依据。以及通过执行计划作为SQL优化的参考。其中还需要特别注意是《隐式类型转换》。其实数据库优化还包括很多。在此处提及的还仅仅只是应用层面上的优化。在一定量级的系统中。慢SQL常常是拖垮系统的主要原因之一。

由大化小

这主要采用的是分而治之的思想。这种思维我们可以应用到多种场景。例如: Http请求。数据库请求。在进行数据操作时,我们尽量少用大事物。提交到数据库中执行的SQL。尽量简洁,执行快。其实这也很容易明白。例如: 一共有400百斤粮食,你一次挑的话,肯定是会被压垮的。这时候。我们可以采用多次少量的方法来进行。从而不会造成系统压力。在系统中,也是同样的道理。

小结

上面是系统中几个常见且容易忽略的细节。常常也是拖垮系统的雷点。这里做抛砖引玉。还有什么坑了大家的系统的。欢迎大家在评论区留言。

推荐阅读:

扫码关注,一起进步

mysql被拖垮_说几个拖垮系统的小细节!相关推荐

  1. mysql数据库系统配置文件_跟我学虚拟机系统平台相关技术及应用——在CentOS系统中的MySql数据库系统配置文件中进行配置定义...

    跟我学虚拟机系统平台相关技术及应用--在CentOS系统中的MySql数 据库系统配置文件中进行配置定义 1.1.1MySql5.6数据库系统的配置文件 1.不同作用范围内的系统配置文件 (1)/et ...

  2. 树莓派要mysql的密码_树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码...

    树莓派raspberry Pi 3B+安装mysql未提示输入密码,安装后修改mysql密码默认密码 使用mysql -uroot -p 命令连接mysql时,报错 pi@raspberrypi:/ ...

  3. 神盾局第二季麦克机器人_你该注意的7个小细节!《神盾局特工》最终季结局解析及未来预测...

    随着漫威电影世界观的问世,造就了庞大的热潮,为此也推出影集来当相关的配套作品(虽然基本上很少联动),其中最广为人知且运行最长的一部就是<神盾局特工>,如今影集也在近日完结,而今天我们就来做 ...

  4. 安装mysql无法登录_【windows 下安装 mysql-server 无法登录问题解决】

    ----------------------------- 无感的首行 ----------------------------- 新版 mysql-server 5.7 安装后发现无法使用 mysq ...

  5. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  6. MySQL学习笔记_上(select查询)

      上次整理了一些练习发到博客上了,也说要发基础的,整理了一下午才算是把查询那块的勉强整理完,下次再整理其他的,另外还在写设计模式和数据结构的草稿,写的差不多会慢慢发的,这两项算是副线发展,主线还是按 ...

  7. 树莓派查看mysql的密码_树莓派安装MySQL 后若何获取登录密码

    树莓派安装MySQL后获取登录密码 树莓派基于Debian系统. 乐成安装MySQL后 su root vim /etc/mysql/debian.cnf 其中 user 和 password 就是你 ...

  8. 阿里云mysql写入性能_插入mysql类型

    MySQL的五种日期和时间类型 MySQl中有多种表示日期和时间的数据类型.其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践.它们的对比如下 ...

  9. java导出mysql数据库失败_利用Java进行MySql数据库的导入和导出

    利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. MySql导出数据库的命令如下: mysqldump -uusername -ppassword  ...

最新文章

  1. html设置box设置长度自适应,CSS实现宽度自适应宽高16:9的矩形的示例
  2. python中的id()函数及读取list的例子
  3. windows MySQL 5+ 服务手动安装
  4. c语言循环链表中设立尾链表,C语言实现双向非循环链表(带头结点尾结点)的节点插入...
  5. Vuforia的ARcamera通过识别人工标识码出现虚拟物体后在其相机视野中不显示人工标识码
  6. 新一代多媒体技术与应用的部分课后题
  7. 毕业论文实验方法重复,如何降重?
  8. Chrome插件:中国天气预报与万年历
  9. 基于S3C2440A的DM9000A的调试笔记
  10. 个人免签码支付源码+监控APP 实测搭建成功
  11. REST Assured 22 - JSON
  12. 作为一名程序员,我都收集了哪些好玩的神器工具?
  13. 华为rh2288v2服务器系统,灵动高效!华为RH2288 V2服务器评测
  14. python opencv 常用增强 dct变换+侵蚀+扩张+索贝尔算子+直方图均衡化+光照平衡+
  15. DDR SDRAM原理介绍
  16. 自媒体应该怎么入门,这几点教会你
  17. SpringAop代理模式
  18. android设备绑定微软,Android 7.1.1 手机如何登录微软账号
  19. 让你的鼠标变为中指 - 浏览器插件The Finger Cursor
  20. 需要使用电话外呼系统的行业都有哪些?好处何在?

热门文章

  1. vue下轻松解决模拟微信视频缩略图拖拽→吸附窗口边界的功能
  2. 趣谈HTTP协议中的那些MIME header
  3. Ubuntu 14.04 64bit上curl-7.37源码包中的sample 源码示例研究
  4. ARM 的几个重要特点
  5. 二叉树 1.0 -- 创建二叉树、遍历二叉树、二叉树常见问题求解
  6. SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)
  7. hashlib模式和hmac模式
  8. (转)Unity3D - 性能优化之Draw Call
  9. 【转】MYSQL入门学习之十:视图的基本操作
  10. 常见http状态码说明(转)