从性能考虑web的应用设计

2023-10-28

Authorskate

Time2010/5/21


 

从性能考虑web的应用设计

最近看了一些性能优化的资料,根据我们自身系统的特点谈谈想法,希望对大家有帮助

 

1. 适当的放弃一致性说

这里的一致性不仅指数据的一致性,还广泛指集中的紧耦合的处理原则;有的时候放弃一致性会得到更多的好处(比如性能的提高,用户的体验等)

 

2. 备份和隔离可以解决稳定性的问题

这里说的备份是广义的备份,例如数据的冗余或副本;尽量避免多业务,多功能交织在一起,给排查问题带来难题,避免一损俱损的情况发生。过分复杂以后的扩展也是问题。

 

3. 分割和异步可以解决性能的问题

分割和异步是解决性能很好的方法,可以把一个整体分割为若干点,然后分而治之,避免热点瓶颈从而实现线性扩展。异步可以充分利用每一步骤的资源,就像磁盘有异步io功能似的,可以充分协调它和cpu步伐。例如我们的订单从成单到入远程数据库这一过程很复杂,包含了很多步骤,但这么多步骤肯定有快有慢的部分,要充分利用资源,提高性能,异步就可以完成。但要保证数据的正确性。

 

4. 批量处理

批量处理也是提高性能一个主要思想,就像公交车一样,在高峰期,可以多发几趟车,晚上人流少了,就可以少发几趟车,尽量使公交车利用率超高

这样不但节省公交部门的人力物力,还较少了交通压力。对我们的系统也是一样的,要用最少的资源干最多的事。

 

5. 自动化降低人为参与

自动化可以提高效率避免错误

 

 

 

 

---end---

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从性能考虑web的应用设计 的相关文章

  • Facebook 好友对话框无法在移动设备上运行

    序幕 我遇到了与之前提出的问题中描述的相同的问题 FB 在移动设备上添加好友对话框不起作用 https stackoverflow com questions 17230231 fb add friend dialog on mobile
  • 我可以在为服务器提供 API 的同时提供静态文件吗?

    所以我对网络开发还很陌生 现在我和我更加面向网络的朋友开始了一个项目 他向我扔了各种各样的框架 我们正在做 Vuejs jade stylus 和 jeet 对于新手来说 这当然非常令人困惑 因为没有 Vuejs 示例使用 jade 没有
  • 如何访问随机网站? - Python

    如何生成随机但有效的网站链接 无论语言如何 事实上 它生成的网站语言越多样化越好 我一直在使用其他人网页上的脚本来做到这一点 我怎样才能不依赖这些随机站点转发脚本并制作自己的脚本 我一直这样做 import webbrowser from
  • 你能用c++加载一个网页,包括JS和动态html并获取渲染的DOM字符串吗?

    是否可以用 C 加载网页并获取渲染的 DOM 不仅仅是 HTTP 响应 还有 java 脚本运行后 可能是让它运行一段时间后 呈现的 DOM 特别是随着时间的推移可能发生变化的动态 HTML 有这个库吗 或者 如果不是 c 您是否知道可以用
  • 根据 $_POST 值填充字段

    我正在寻求有关我试图填写的表格的帮助 我通常会使用 onChange 函数 但我认为这不是一个选择 基本上我有一个
  • 如何判断是哪个控件导致ViewState加载失败?

    我的页面面临 Viewstate 加载问题 页面有一个登录工具来登录管理员和非管理员用户 当非管理员用户登录页面并单击启用了自动回发的复选框时 会出现奇怪的行为 错误详情如下 后来我发现 在左侧的导航面板中 承载链接 侧边栏如下图所示 Se
  • Ant Design Collapse - 关闭按钮

    我是 Ant Design 的初学者 在使用 Ant Design 库中的 Collapse 和 Form 时遇到了这个问题 我已经设置了我的页面 其中添加新项目的表单位于折叠中 并且折叠下方有一个项目列表
  • Tomcat 是否立即支持 JAX-RS(它是否支持 JAX-RS)?

    从教材 RESTful Java with JAX RS 中我们可以读到 如果我们的应用程序服务器是 JAX RS 感知的 或者换句话说 与 JAX RS 紧密集成 则声明我们的ShoppingApplication作为 servlet 的
  • 通过站点到站点 VPN 将 Azure 网站连接到本地数据库

    我的目标是运行一个天蓝色的网站 该网站可以访问我们本地公司数据库中的数据 我按照网络上的教程设置了一个 Azure 虚拟网络 并通过站点到站点 VPN 将其连接到我们本地公司网络 在天蓝色门户中 我可以看到连接实际上正在工作 并且数据已被接
  • 清除 Laravel 队列缓存而不重新启动

    在我的应用程序中 每个客户都有一种复杂的类 我们在其中为该特定客户进行一些搜索和替换 我运行队列工作人员每天与 eBay 同步 以便每个客户进行某种搜索和替换 问题是 Laravel 队列会缓存代码很长一段时间 如果我想去更改任何客户类文件
  • 如何将 html 输入到 Flask 中?

    我有这个 html 位
  • JavaScript 中的对象解构[重复]

    这个问题在这里已经有答案了 gt a a true Statement lt a true 上面的语句是赋值true to a 为什么上面的语句在chrome控制台中没有报错 虽然下面的语句给出了错误 gt a a true Stateme
  • 使用内容安全策略防止 Internet Explorer 11 上的内联 JavaScript

    是否可以使用 ASP NET WebForm 上的 CSP 来阻止 Internet Explorer 11 上的内联 JavaScript 我知道 IE 11 不支持内容安全策略级别 2 但它支持级别 1 0 我尝试了很多方法 但没有明确
  • 如何在odoo中重写js函数

    我想加载 shop checkout url 函数是 odoo define change info order website sale change info order function require use strict oe w
  • Django - 缺少 1 个必需的位置参数:'request'

    我收到错误 get indiceComercioVarejista 缺少 1 个必需的位置参数 要求 当尝试访问 get indiceComercioVarejista 方法时 我不知道这是怎么回事 views from django ht
  • 使用“邮递员”chrome 应用程序的肥皂请求正文

    假日网络服务 的肥皂请求正文会是什么样子 http www holidaywebservice com HolidayService v2 HolidayService2 asmx wsdl http www holidaywebservi
  • Java selenium - 如何在 TimeoutException 之后正确刷新网页?

    ChromeOptions options new ChromeOptions options addExtensions new File extension 6 2 5 0 crx ZenMate options addExtensio
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com
  • 烧瓶 - 404 未找到

    我是烧瓶开发的新手 这是我在烧瓶中的第一个程序 但它向我显示了这个错误 在服务器上找不到请求的 URL 如果您输入了网址 请手动检查拼写并重试 这是我的代码 from flask import Flask app Flask name ap
  • Chrome:网络元素自动移动

    我正在开发一个网络项目 在过去的两周里 我正在进行学期考试 所以我要休息一下 现在 既然他们已经结束了 我又继续我的工作了 但我发现我的一些Web 元素 如按钮 span 在 Chrome 上移动了一些像素 在 IE 和 Mozilla 上

随机推荐

  • x86架构与ARM架构

    x86 名称演变 X86架构是微处理器执行的计算机语言指令集 指一个intel通用计算机系列的标准编号缩写 也标识一套通用的计算机指令集合 x86体系架构包含16位 8086 32位和64位 x86 32 表示32位的x86体系架构 该系列
  • 摘要算法CRC8、CRC16、CRC32,MD2 、MD4、MD5,SHA1、SHA256、SHA384、SHA512,RIPEMD、PANAMA、TIGER、ADLER32...

    1 CRC8 CRC16 CRC32 CRC Cyclic Redundancy Check 循环冗余校验 算法出现时间较长 应用也十分广泛 尤其是通讯领域 现在应用最多的就是 CRC32 算法 它产生一个4字节 32位 的校验值 一般是以
  • Python爬虫四种验证码的解决思路

    1 输入式验证码 这种验证码主要是通过用户输入图片中的字母 数字 汉字等进行验证 如下图 解决思路 这种是最简单的一种 只要识别出里面的内容 然后填入到输入框中即可 这种识别技术叫OCR 这里我们推荐使用Python的第三方库 tesser
  • Sklearn通过precision_recall_curve获取F1最大值

    20220718 平时为了查看分类器的性能 会利用precision recall curve来获取精确率和召回率 并且计算F1的最大值 通过阈值的问题 查看分类器的最高性能 代码如下 然后计算 precision recall thres
  • 零代码教你用 GitHub 搭建个人博客!

    公众号关注 GitHubDaily 设为 星标 每天带你逛 GitHub 转自量子位 作者赖可 GitHub 不仅可以传代码 还可以建博客 利用 GitHub Pages 平台 就可以搭建非常好用的个人博客 但是难点在于 你在要敲很多代码才
  • 视讯技术基础知识介绍——基础篇(一)

    1 1 图形 图像和视频 图形 graphic 和图像与视频不同 有一种说法是图形就是自然界的客观世界不存在的图案 对于计算机中的图形研究 有专门的计算机图形学 主要的研究对象是点 线 面等抽象事物 目前所谓的计算机显卡3D技术支持 主要就
  • php excel文件上传,PHP使用PHPExcel上传下载Excel文件

    1 生成Excel并下载
  • 前端实战(一):锚点跳转与滚动条监听

    目录 开发环境 实现效果 技术要点及代码 一 querySelectorAll 方法 二 scrollIntoView 方法 实战核心代码 开发环境 在HBuilder X开发工具下通过CDN的方式引入vue2 0以及Element UI
  • C++使用string的大数运算(7)快速模幂

    本次项目目标 使用C 完成对于大数的相关运算 具体有加减乘除取模 项目要点 1 大数指的是远超long long int的数据 2 将大数用矩阵进行存储 并通过矩阵实现运算 3 本人采用字符串进行存储 应注意char的特点 比如 char
  • SpringCloud Config简介

    简介 Spring Cloud Config为分布式系统的外部配置提供服务端 server 和客户端 client 的支持 Config服务端提供了一个集中的地方来管理所有环境下各个应用的配置 Config客户端即普通的Spring应用 但
  • history命令查看操作时间

    export HISTTIMEFORMAT F T whoami 给history加上时间戳 展示 1013 2016 08 08 12 15 40 root y 1014 2016 08 08 12 15 41 root df 1015
  • LDO系列--LDO并联扩容

    1 不能简单并联 无法电流均衡 两个LDO的内部的带隙基准源 参考电压 FET的特性 以及误差放大器的噪声不同 如失调电压 实际LDO输出的目标电压依旧是有差异的 这就导致了 LDO High的目标输出电压高一些 5V 相反LDO Low的
  • define #使用

    include
  • 定制音库成本骤降98%,PaddleSpeech小样本语音合成方案重磅来袭!

    随着以语音为交互渠道的产业不断升级 企业对语音合成有着越来越多的需求 比如智能语音助手 手机地图导航 有声书播报等场景都需要用到语音合成技术 通过语音合成技术想要得到一个新的音色 需要定制音库 但是定制音库所耗费的人力成本和时间成本巨大 成
  • (字符串)寻找字符串连续最多出现的字符以及出现的次数

    function maxLength str var arr str split var max item count 1 var count 1 for var i 1 i
  • [工业互联-12]:主流的工业以太网技术简介(PROFINET、POWERLINK、ETHERNET/IP、ETHERCAT、SERCOSIII、MODBUS TCP、CC-LINK IE)

    目录 前言 1 工业通信要求 1 1 工业通信网络分层模型 1 2 工业控制的实时性要求 2 以太网技术 2 1 协议分层 2 2 实时应用 3 常见工业以太网技术 3 1 PROFINET通信 3 2 POWERLINK通信 3 3 Et
  • MySQL安装及初始密码设置

    运行mysql help grep my cnf查看my cnf配置位置的读取顺序 etc my cnf不存在 则我们需要在etc下创建my cnf配置文件 mysql会优先度读取 ps ef grep mysqld mysql不要随意修改
  • 类中的静态常量

    关于类中静态常量的声明和定义 class Test public static const int const value 1 static const int const value 1为类中的声明式 而非定义式 定义与声明 定义即为一个
  • 多CPU与单CPU的spin_lock使用上的区别

    这样 考虑这四个方面的因素 通过判断我们要互斥的数据会被这四个因素中 的哪几个来存取 就可以决定具体使用哪种形式的spinlock 如果只要和其他CPU 互斥 就要用spin lock spin unlock 如果要和irq及其他CPU互斥
  • 从性能考虑web的应用设计

    Author skate Time 2010 5 21 从性能考虑web的应用设计 最近看了一些性能优化的资料 根据我们自身系统的特点谈谈想法 希望对大家有帮助 1 适当的放弃一致性说 这里的一致性不仅指数据的一致性 还广泛指集中的紧耦合的