首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

前言

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

万恶的超时时间

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

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

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

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

慢SQL

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

由大化小

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

小结

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180327G1XDCI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券