系统性能优化总结篇 (一)快速定位问题

很多创业型企业,都是追求快速把产品推向市场。也因这个因素,在设计和研发过程中,往往追求快为目标,在架构选型、代码编写等环节往往疏忽了性能的考虑。但这种现象是属于正常的,一个好的产品是在客户使用下不断重构成长起来的。

产品的长期运行中,会随着数据的不断庞大、操作用户的不断增加及网络慢等元素,会慢慢暴露出系统运行慢的问题。在这里给大家分享一些在实际操作中如何快速定位问题的方方法。

1、现象:

1、用户会经常反馈在某个时间节点系统运行速度非常卡

2、在某次系统升级后,某个查询功能突然非常慢或某个功能无法使用等。

3、经常接到用户投诉系统突然操作很慢的问题。

2、发现变化

大家在接到用户的投诉时,千万别盲目的打开代码或调试代码。首先是了解一下用户的操作场景,例如

现象一,了解一下这个时间节点系统都在频繁做一些什么运算、这个时间节点用户是否频繁操作某个功能导致。

现象二、先了解一下这次升级的功能点所做的改变,是否因增加或修改某个功能导致性能慢

现象三,首先先了解客户的网络情况,如果发生现象的频率很低,及大部分用户无反馈慢的现象,优先考虑用户的网络环境导致。

3、跟踪变化

通过发现变化,把问题的范围进行缩小。

现象一,通过后台监控获取这个时间节点一些日志例如:数据库使用日志报告、SQL语句的监控、IIS请求数的监控及IIS请求日志、服务器资源的监控、网络境况等因素

现象二、了解本次升级所做的改变,从而快速定位是否是SQL语句问题或算法进入死循环或堵塞等因素。

   现象三、通过一些网速测试、ping\tracert等命令来判断用户网络情况。

4、定位问题

通过上述的查找环节来快速定位问题。

时间: 2025-01-05 21:46:07

系统性能优化总结篇 (一)快速定位问题的相关文章

MySQL 百万级分页优化(Mysql千万级快速分页)

以下分享一点我的经验 一般刚开始学SQL的时候,会这样写 : SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 : SELECT * FROM table ORDER BY id LIMIT 1000000, 10; 也许耗费几十秒 网上很多优化的方法是这样的: SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIM

后端系统性能优化(第一季:改掉那些坏代码)

我们核心业务系统的中心服务每天承载着上千万金额.几十万笔的订单量,在数据量高速增长,公司业务节节攀升的客观因素下,以及面对即将到来的6月份世界杯的流量\交易 高峰的压力,核心业务系统性能优化以及重构显得越发重要而又迫在眉睫. 时刻准备着 在进行性能优化之前,我们做了很多的准备工作,包括 压力测试,数据库sql提取,性能监控日志数据,请求量等数据的收集,分析整体的性能瓶颈,请求量的波动特点,数据库负载波动情况. 压力测试,几个部门通力的合作,把系统在极端并发的情况下所表现出来的性能瓶颈收集出来,分

后端系统性能优化(第一季 3 sql优化)

昨天的博文介绍了如何去发现坏代码,如何优雅的去实现一个应用内的监控程序. 博文地址:后端系统性能优化(第一季 2 找出坏代码) 当然发现了坏代码之后,我们还是要想办法来改掉它,也许它会很顽固.今天说说性能优化的一个非常重要的部分:sql的优化 今天要说的不是怎么来写优秀的,性能好的sql,这些DBA们会比我更加专业.在我们公司,凡是DBA能优化的sql,DBA都在内部消化了,需要反馈给我们的,说明他们可能也束手无策.也是我们该出手的时候了. insert,update这类型的sql,性能一般不会

Unity手游优化——CPU篇

Unity 手游优化——CPU篇 前段时间本人转战unity手游,由于作者(Chwen)之前参与端游开发,有些端游的经验可以直接移植到手游,比如项目框架架构.代码设计.部分性能分析,而对于移动终端而言,CPU.内存.显卡甚至电池等硬件因素,以及网络等条件限制,对移动游戏开发的优化带来更大的挑战. 这里就以unity4.5x版本为例,对Unity的优化方案做一个总结,有些是项目遇到的,也有些是看到别人写的不错拿来分享,算作一个整理,后期也会持续更新.本优化从CPU.GPU和内存三个方面着手总结,这

后端系统性能优化(第一季 2 找出坏代码)

昨天开了个头 博文链接:后端系统性能优化(第一季:改掉那些坏代码) 今天,来说说 什么样的代码才是坏代码,怎么来找出这些坏代码. 不少猿在吐槽烂代码.但是我们今天说的不是烂代码,坏代码只需要改动很小的一部分,把它的坏的地方改掉,他依然是好代码 .而烂代码,只有重新写过了,才会让你觉得浑身轻松,压力瞬间释放,而且在写之前你还得花90%的时间去看懂它.所以我说改掉坏代码,因为只有坏代码才能改,而烂代码是用来看.我很庆幸我在的这个团队的代码驾驭能力都还不错,很少有烂代码.但为什么还会有坏代码?坏代码不

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代,我们不得不做一些东西来讨好爬虫,进而提示网站的排名来博得一个看得过去的流量. URL重写与优化就是搜索引擎优化的手段之一. 假如某手机网站(基于ASP.NET MVC)分类页面URL是这样的, http://www.xxx.com/category/showcategory?categoryid=1000&view=list&orderby=price&p

利用vim查看日志,快速定位问题

起因 在一般的情况下,如果开发过程中测试报告了一个问题,我一般会这么做: 1.在自己的开发环境下重试一下测试的操作,看看能不能重现问题.不行转2 2.数据库连接池改成测试库的地址,在自己的开发环境下重试一下测试的操作,看看能不能重现问题.不行转3 3.去测试环境查看日志.分析问题. 快速定位问题 去测试环境查看日志,分析问题的时候.因为我Linux命令也不是很熟悉.所以查看日志内容比较累..我以前的做法是下载日志以后在windows环境下利用文本编辑器定位问题. 但是有时候日志比较大,有几百MB

Android性能优化——工具篇

Android性能优化是Android开发中经常遇见的一个问题,接下来将对Android性能优化方面的知识点做一个简单的梳理和总结,将从工具和代码两方面进行梳理.所谓工欲善其事必先利其器,本文首先来看一下Android性能优化有哪些得力的工具. TraceView traceview是Android SDK中自带的一个工具,可以对应用中方法调用耗时进行统计分析,是Android性能优化和分析时一个很重要的工具.traceview位于SDK下的tools目录中,使用时可以在cmd窗口运行trace

经验分享:程序员如何快速定位问题(BUG)

让我掉下眼泪的 不止内存泄漏 让我夜夜不眠的 不止你的需求 明天还要改多久 你攥着我的手 让我感到为难的 是善变的需求 发布总是在半夜 回滚是永远的愁 错误(Bug)随时的暴漏 困扰着我心头 作为程序员,以上这些场景你一定都经历过.今天就来聊聊如何快速定位问题. 先划重点,下文所写都是一家之言,本人工作经验不多,语言表达能力有限,如果写的不好,还望轻喷.另外,本文所讲都是站在Java后端开发者的角度. 背景 下文所讲内容,都会围绕以下几个真实案例来做举例分析,先描述一下具体案例: 案例1:App