写点什么

性能优化:一个全栈问题

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

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

关注

评论

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

Wallys/Network_Card/DR9074-2.4G-PN01.1-Wifi-6-Qualcomm-QCN9074

wallys-wifi6

wifi6 m.2 802.11AX QCN9074

“复制黏贴”就能打通企微群机器人,包学包会

明道云

以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

字节跳动数据平台

Apache 大数据 字节跳动 性能优化 数据目录

TDengine 离线升级流程

TDengine

数据库 tdengine

〖Docker指南③〗Docker镜像的深度解析

步尔斯特

〖Docker指南⑦〗docker-compose快速入门

步尔斯特

Docker

〖Docker指南⑧〗Docker私有镜像仓库|阿里云|Registry|Harbor

步尔斯特

Docker

模块八:作业

本人法海

「架构实战营」

助力工业化设计,提升变电站三维设计效率和业务保障

焱融科技

gpu 存储 数字化 三维设计 工业化设计

得物技术埋点自动化验证的探索和最佳实践

得物技术

自动化 重构 稳定性 电商 埋点

Linux命令汇总 | vim | shell | 进阶【2022版】

步尔斯特

云原生

JWT 登录认证及 Token 自动续期

源字节1号

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

明道云入围“2022年中国低/零代码行业影响力TOP15”

明道云

2022年中国现制柠檬茶市场发展洞察

易观分析

茶饮市场

web前端培训如何定位 MySQL 中DDL 被阻塞

@零度

MySQL 前端开发

一图看懂:融云视频会议四大“护法”,让云端开会不再“裸奔”

融云 RongCloud

学生管理系统架构设计文档

泋清

#架构训练营

InfoQ 极客传媒 15 周年庆征文|什么是云原生,云原生技术为什么这么火?

步尔斯特

云原生 热门活动 InfoQ极客传媒15周年庆

什么是DevOps?为大家都在用DevOps

阿里云云效

云计算 阿里云 DevOps 云原生 研发

我是一个Dubbo数据包...

捉虫大师

dubbo 6月月更 InfoQ极客传媒15周年庆

〖Docker指南①〗快速入门|安装|加速|hello-world

步尔斯特

Docker

大数据培训 Yarn和Spark配置与说明

@零度

spark YARN 大数据开发

web技术分享| 基于vue3实现自己的组件库,第一章:Message组件

anyRTC开发者

前端 Web 音视频 Vue3 message

〖Docker指南②〗Docker常用命令汇总

步尔斯特

Docker

Vue 中 JSX 的基本用法

CRMEB

《云原生的本手、妙手和俗手》——2022全国新高考I卷作文

步尔斯特

云原生

〖Docker指南④〗docker容器卷

步尔斯特

Docker

〖Docker指南⑤〗学习Dockerfile,看这一篇就够了

步尔斯特

Docker

〖Docker指南⑥〗快速入门Docker的五种网络模式

步尔斯特

Docker

刘勇智:一码通缺陷分析与架构设计方案丨声网开发者创业讲堂 Vol.02

声网

架构 创业讲堂

基于QUIC协议的HTTP/3正式发布!

JackJiang

网络编程 QUIC http3

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