写点什么

性能优化:一个全栈问题

  • 2015-04-21
  • 本文字数:738 字

    阅读完需:约 2 分钟

Ronald Bradford 是一名有 26 年行业经验的 IT 专家,他撰写了 Effective MySQL 系列书籍并已被翻译为中文。近日,他在个人博客上发表了一篇探讨性能优化的文章。他认为,性能优化是一个全栈问题,提高 Web 系统的性能需要了解整个技术栈的运转和交互。他列举了一些快速提升系统性能的常用技巧,包括:

  • 使用 CDN 资源;
  • 压缩内容;
  • 减少请求次数(Web、缓存、数据库);
  • 异步管理;
  • 优化 SQL 语句;
  • 数据库服务器使用固态硬盘;
  • 更新软件版本;
  • 增加服务器;
  • 正确配置软件。

Ronald 指出,性能优化需要制定详细的优化计划,确定每一部分的优化目标,并进行相应的测试验证。如果系统任何一部分未能达到预期的优化效果,那么就无法实现整个系统的性能提升。比如,一个系统的 MySQL 数据库饱和了,InnoDB 并发事务数达到上限。在旧版本中,这是一个不可配置的参数。因此,升级是一种简单直接的优化方法。但同时,工程团队升级了 PHP 应用程序框架(如 Slim Twig ),导致应用程序响应时间增加。结果,虽然系统负载增加了,但整体性能却未能得到提升。

因此,Ronald 指出,为了实现系统整体性能的优化,需要重点从以下几个方面考虑问题:

  • 了解 CPU 饱和度;
  • 检测和缓解网络延迟;
  • 了解虚拟云实例的虚拟模式选项;
  • 了解网络协议栈,利用好不同的主机操作系统;
  • 模拟生产负载并不容易;
  • 性能分析,分析,再分析;
  • 工具有误导性,需要了解不同监控工具的工作原理;
  • 全栈优化是一个迭代过程;
  • 了解如何优化技术栈的每一部分;
  • 不是每项优化都能达到预期效果;
  • 了解什么时候停止优化及优先优化哪一部分。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。

2015-04-21 06:223948
用户头像

发布了 1008 篇内容, 共 411.9 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

一份优秀的产品帮助文档怎么写?

小炮

UniqueMergeTree:支持实时更新删除的ClickHouse表引擎

字节跳动数据平台

Clickhouse 表引擎 实时

Vue进阶(贰零捌):ES6 对象解构

No Silver Bullet

ES6 5月月更 对象解构

实验室信息管理系统如何工作?

低代码小观

低代码 实验室管理系统 企业管理系统 LIMS实验室信息管理系统 企业管理软件

揭秘华为云GaussDB(for Influx)最佳实践:hint查询

华为云开发者联盟

数据库 倒排索引 GaussDB(for Influx) hint 单时间线

【直播预告】研发效率百倍提升的秘密,这些破圈思路了解一下!

FinClip

小程序 finclip 直播预告

固态硬盘和机械硬盘的区别(7大区别,简单易懂)

源字节1号

软件开发 前端开发 后端开发 小程序开发

直击中小企业转型通用痛点 联想百应推出智能会议解决方案

极客天地

ZooKeeper 在阿里巴巴的服务形态演进

阿里巴巴云原生

Apache zookeeper 阿里云 开源 云原生

易周金融分析 |“一参一控一牌”落地;两家支付机构更名

易观分析

金融 银行

中科大脑知识图谱平台建设及业务实践

NebulaGraph

图数据库 知识图谱

给小白的 PG 容器化部署教程(上)

RadonDB

postgresql 容器化 数据库·

大咖说·图书分享|阿里官方为你分享内部测试之道

大咖说

阿里巴巴 测试 开发

MSVC编译多个C程序文件

Loken

音视频 5月月更

MSVC编译静态库

Loken

5月月更

企评家,企业成长性评价系统怎么用?

企评家

企业成长性分析 企评家 企业投资价值评价

对象存储 S3 在分布式文件系统中的应用

焱融科技

对象存储 存储 分布式存储 云存储

什么是时序数据库

领创集团Advance Intelligence Group

【等保测评】等保测评师怎么考,前景怎么样?

行云管家

网络安全 IT运维 等保测评 等保测评师

艾莫尔研究院基于Karmada的落地实践

华为云开发者联盟

云原生 Karmada 自动化集群管理

Kubernetes下Stdout日志白名单最佳实践

观测云

可观测性 可观测

编程,不止有代码,还有艺术

华为云开发者联盟

数据库 倒排索引 GaussDB(for Influx) hint

精彩回顾|KubeCon EU 2022 Kubernetes Batch + HPC 专题日

Daocloud 道客

Kubernetes 云原生 HPC batch

PostgreSQL 15 新特性解读 | 墨天轮优质文章合集

墨天轮

数据库 sql postgresql 新特性

直播回顾|携手 Opentelemetry 中国社区,走进可观测性

Daocloud 道客

云原生 可观测性

硬之城获阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 云原生 合作伙伴 合作

git bisect:让你闭眼都能定位疑难 bug的利器

华为云开发者联盟

开发 bug git bisect 二分法定位

A New ETL Language -- Easy SQL

Bright

数据开发 ETL 大数据开发 EasySQL

VPN的应用场景

源字节1号

小程序开发

基于边缘计算的云游戏场景实践

火山引擎边缘云

最佳实践 边缘计算 实时音视频 云游戏

【等保测评】2022年北京正规等保测评机构新名单公布

行云管家

等保测评 北京

性能优化:一个全栈问题_后端_谢丽_InfoQ精选文章