写点什么

性能优化:一个全栈问题

  • 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:224017
用户头像

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

关注

评论

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

react hook 源码完全解读

flyzz177

React

3700万人在线见证梅西“圆梦”!火山引擎实力护航世界杯

火山引擎边缘云

云计算 云原生 CDN 边缘计算 火山引擎边缘计算

RISC-V SIG 新进展:Chromium 等多个桌面软件登录欧拉开源操作系统

openEuler

firefox Linux 操作系统 openEuler risc-v

POI 中 getPhysicalNumberOfCells 与 getLastCellNum 有什么区别

ModStart

react源码中的hooks

flyzz177

React

react源码中的fiber架构

flyzz177

React

硬实力,高潜力!旺链科技当选“2022德勤中国高科技高成长50强”

旺链科技

区块链 区块链技术

ElasticSearch必知必会-基础篇

京东科技开发者

大数据 搜索引擎 数据分析 技术分享 Elastic Search

从实战出发,聊聊缓存数据库一致性

C++后台开发

MySQL 数据库 缓存 中间件 后端开发

USB端口的ESD防护电路设计

元器件秋姐

经验分享 usb 电路设计 电源电路 ESD防护

「极狐GitLab 内容共创计划」强势来袭,丰厚权益等你赢取!

极狐GitLab

DevOps 云原生 写作 #运维 #DevOps

如何使用 Towify 在小程序中创建关联表?

Towify

葡萄城邀您参与「表格技术开发者新年分享会」,共话表格技术新未来!

葡萄城技术团队

网页抓取中最常用的三大 Python 库

极客天地

数字图像处理笔记

嵌入式视觉

数字图像处理 几何变换 低通滤波 图像锐化 高通滤波

精准测试之覆盖

京东科技开发者

数据库 测试 代码 覆盖 企业号 1 月 PK 榜

时序数据库 TDengine 签约中冶京诚,助力钢铁工业智能化

TDengine

数据库 tdengine 时序数据库

2023年汽车行业向好发展,火山引擎VeDI助力车企数智转型

字节跳动数据平台

数据库 大数据 数据处理

尚硅谷Airflow视频教程发布

小谷哥

GitHub上标星79K的LeetCode算法小抄开放下载了

小小怪下士

程序员 面试 算法 LeetCode

PHP 中命令行调用 escapeshellarg 函数中文问题

ModStart

总有一个你能用上的29个IDEA小技巧

风铃架构日知录

Java 程序员 IDEA IT 开发工具

开源共建|旺链科技与FISCO BCOS达成产业应用合作

旺链科技

区块链 开源 区块链技术

Apache APISIX Ingress 1.6 正式发布!

API7.ai 技术团队

APISIX Serverless Kubernetes Ingress Controller

移动跨端框架最全盘点,16款总有一款适合你

Onegun

flutter 移动开发 跨端框架

小程序编译原理解析

Onegun

微信小程序 前端

要避免的自动化实践

FunTester

创建好的小程序如何正式发布?

Towify

TDengine 签约航天五院,助力航天事业信息化

TDengine

数据库 tdengine 时序数据库

podman如何开启sock使用docker客户端进行管理

ModStart

培训机构与自学的优缺点有哪些

小谷哥

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