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

推荐订阅源

Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
O
OpenAI News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 最新话题
N
News | PayPal Newsroom
S
Secure Thoughts
The Last Watchdog
The Last Watchdog
Help Net Security
Help Net Security
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园_首页
博客园 - 司徒正美
The Cloudflare Blog
D
DataBreaches.Net
Jina AI
Jina AI
L
LINUX DO - 热门话题
宝玉的分享
宝玉的分享
Project Zero
Project Zero
量子位
Spread Privacy
Spread Privacy
Cisco Talos Blog
Cisco Talos Blog
J
Java Code Geeks
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Threatpost
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
AI
AI
C
CXSECURITY Database RSS Feed - CXSecurity.com
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
Attack and Defense Labs
Attack and Defense Labs
V
V2EX
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
Cyberwarzone
Cyberwarzone

博客园 - 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。使用这个工具外加一个并发仿真模拟就能很快找到问题所在。另外你还可以使用性能计数器(这个只能查到到一些,但不能真正定位)。

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

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