惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
H
Heimdal Security Blog
Jina AI
Jina AI
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
S
Securelist
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
博客园 - 叶小钗
J
Java Code Geeks
V
V2EX
博客园 - Franky
Spread Privacy
Spread Privacy
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
NISL@THU
NISL@THU
罗磊的独立博客
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
V
Visual Studio Blog

博客园 - yi

Rabbitmq的使用及Web监控工具使用 Fiddler的配置 轻松实现SQL Server与Access、Excel数据表间的导入导出 Sql server性能优化白皮书 索引的优化脚本 查找当前的登录用户 usp_who5脚本,查找当前的进程 linq to sql的性能和reader相比只是差一点点吗 锁与索引 一个数据访问层的小工具 转:对XML插入操作 - yi - 博客园 查看当前的连接和锁 对数据的分页再一次思考 关注商业价值 关于异常处理的一点看法 骂的人多了,也成了真理 样式小记 - yi - 博客园 重命名你的数据库 不浪费自己的时间,同时也不浪费别人的时间 - yi - 博客园
应用程序优化
yi · 2010-05-02 · via 博客园 - yi

  本文只从逻辑上进行说明,并不从物理上进行说明。物理结构不在本文讨论范围之内。

  我们的资源有:CPU,内存,IO

  我们的应用程序分以下三层:表现层,业务逻辑层,数据操作层

  优化其实是对以上所说的进行优化。优化前必须明确以下几点:原有的应用程序设计不能受到破坏;原有的需求不得更改;应用程序的可维性不得降低。至于为什么,刚才写的草稿说了,没有保存,懒得再写。原因大家也知道,感觉写了会浪费。直接进入主题:分为数据库问题与应用程序问题。

  假设数据库出现问题,这个时候我们知道用户在进行什么样的操作。打开SQL监视器,进行用户操作,然后在SQL监视器里面定位问题所在。SQL问题所在分为SQL语句以及这条语句里面对资源所产生的消耗。把SQL语句拿到SQL管理器进行查询分析,这样你就能定位到语句中什么地方产生问题,然后对表结构(聚集索引以及非聚集索引)以及SQL语句进行调整。简单吧,而事实上就是这么简单的。

  假设应用程序出现问题,这个时候我们同样也知道用户在进行什么样的操作。问题是在于有没有工具能监视到所在的代码行。有的,05以及其后的版本据我所知是有的。另外推荐另外一个工具:ants profile。使用这个工具外加一个并发仿真模拟就能很快找到问题所在。另外你还可以使用性能计数器(这个只能查到到一些,但不能真正定位)。

  看完了以上所说,你可能会问,优化咋这么简单呢??????????而事实上就是这么简单的,难道真的不好用吗????而事实上简单是最好用,最实用的。

  在这里我在网上看了很多优化的文章,感觉写的非常详细具体,也非常不错,只不过没有说明如何定位问题的所在。但是在商业环境下并不适合,因为商业环境下是需要以最低的成本创造出最高的商业价值。从一大堆代码去慢慢找吧,累死人,而并未能解决问题所在。而从商业价值的角度上看,这无疑是个失败的。为什么呢???????原因很简单,他们并没有快速找出问题对象的所在,并且迅速的解决问题。我的观点是:快速把主要问题解决了,大家去喝茶,聊天,学技术,不要把时间用在一些小点子上,从结构上的优化性能远高于每一行代码优化的性能,不要最后在性能问题上搞得上面郁闷,下面更加郁闷。