说几个拖垮系统的小细节!

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

前言

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

万恶的超时时间

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

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

以登陆为例,以下图所示:优化

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

慢SQL

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

由大化小

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

小结

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

推荐阅读:3d

Java生成PDF的若干坑blog

记一个有趣的Java OOM!

浅谈MySQL SQL优化

浅谈MySQL表结构设计

 

这里写图片描述

 扫码关注,一块儿进步

我的博客: http://www.andyqian.com

相关文章
相关标签/搜索