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

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
D
Docker
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
美团技术团队
V
V2EX
Last Week in AI
Last Week in AI
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Microsoft Security Blog
Microsoft Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
B
Blog RSS Feed
博客园_首页
B
Blog
博客园 - 叶小钗
I
InfoQ
WordPress大学
WordPress大学
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Latest news
Latest news
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News and Events Feed by Topic
S
Secure Thoughts
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News

博客园 - DataFlow

word break 在不同浏览器中的表现 系统架构 创造HTTPS的是个神 为Chrome开发插件提高工作效率 Javascript 控制style 小结 svcutil 生成代理类时的问题 xeam Build Definition Extension uninstall 卸载 Wcf客户端配置里Endpoint的Name属性无效 屏蔽电信流氓弹出广告 正则替换中的一个Bug SQL server 性能相关 SQL Express 相关 时间格式 输出一个在没有.Net 环境的机器也可以跑得安装包 SCOM Configuration NumSamples and Absolute XML中的时间 decimal.Round 的区别 Dos中常用的命令 反序列化怪现象,数组无父
再谈性能力
DataFlow · 2012-06-20 · via 博客园 - DataFlow

我也是标题党,哈哈,是想谈一下在性能优化方面的经验

高内存占用:

              之前有做过一个应用,内存动辄4G,做了两点改进后,内存占用缩小到10M

              改动:

                    1. 检查所有非托管资源的使用,make sure 所有对象均正常调用 dispose

                    2. 检查所有大家伙(过长string, 和过长byte[]), 拆分为小块,分而冶之

高CPU占用:

              另外一个应用,开始运行的时候,cpu占用率很低,运行一段时间后,CPU占用率就大于70%。

    分析过程:

    从任务管理器上找到哪个w3wp, 哪个用户名,一般不同应用程序池会使用不同的用户,打开IIS management, 找到是哪个应用

    看资源管理器,是线程太多了,还是磁盘高并发,DiskQueueLength,如果QueueLength>2, 瓶颈在磁盘

             改动:

                    1. 控制总线程数,过高的线程数,会使线程切换过频繁,导致CPU高占用

                    2. 使用异步,使线程使用率更高。

                    3. 异常处理

                    4. 最重要的是,找到系统瓶颈,缩小处理时间,提高应用程序的吞吐能力,在这里可以用一些Cloud, SOA, NoSQL方面的知识

性能谈到最后,归于两块:

1. Service数据接口,DB数据接口的设计和DB存储的设计,优化的空间小,代价大,所以最好是在设计阶段充分考虑,一考虑目前的设计接口在能否支撑5年后的数据量,二考虑DB的设计,分库,分表,是否所有的数据块都可以支撑5年后数据量的扩张,会不会出现巨型数据块(不可分的数据单元,如表,文件,库)

总结,没有好的设计,就不要谈性能