运行在 CCV2 环境上的 Spartacus Storefront 如果出现性能问题该怎么分析
理论上来说,一旦用户请求到达 Spartacus SSR 服务器,通常有三个潜在的响应时间贡献者,其中最后一个也可以细分成多个潜在的性能瓶颈:
- 执行 Node.js 代码所花费的时间
- 在 apache 层上向 OCC 层请求所花费的时间
- 请求 OCC 层在 API 服务器上花费的时间
对于第三点,下列原因都可能造成 API 服务器响应时间过长:
- API pod 上的资源耗尽
- DB 锁定/DTU 耗尽
- 对公共网络的请求(例如 payment 提供商)
- 线程/资源锁定和争用
- 代码执行
如果发现代码执行是响应时间的主要贡献者,接下来的调查应该集中在 Node.js 代码和 SSR 服务器资源利用率上。
如果最大贡献者是 OCC 请求,则可以重复上述相同步骤,以确定这些请求中最慢的最大贡献者。 例如,使用 api-demo.com:443 层的响应时间分析,将有助于了解绝大部分响应时间,到底是花费在 API 服务器、数据库还是对公共网络的请求上。
在此示例中,我们将从 www.demo.com:443 开始,然后单击 PurePaths
. 在随后的单个请求分析中,添加响应时间过滤器,以仅保留响应速度最慢的子请求,有助于我们把调查精力放在真正的性能瓶颈上。
单个请求的 PurePaths 将显示在代码或 apache 上花费的任何时间以及每个数据库查询和对外部系统的调用。 当我们有兴趣准确了解瓶颈在哪里时,这个功能极其有用,甚至可以深入到单个的数据库查询。 不足之处是 PurePaths 一次只能查看一个请求。
从上面可以清楚地看出,至少对于我们选中的特定的请求来说,时间几乎完全花在了 Node.js 代码的执行上。这提示我们,需要检查一下 jsapps pod 上的 CPU 和内存利用率。
资源利用率的分析会根据使用 CSR 或 SSR 模式而略有不同。
在这两种情况下,Dynatrace 会显示相对于 VM 的 CPU 使用率。 例如,如果一个 pod 有 8 个内核,而 VM 有 16 个内核,当 Dynatrace 显示 CPU 为 50% 时,它实际上表示 CPU 为 100%。
当 Spartacus 工作在 CCV2 的 CSR 模式下时,CSR 容器本质上只是一个将请求路由到 OCC 层的 nginx Web 服务器。 在选择 Nginx 和 nginx jsapps-* 后,可以从 Dynatrace 的技术和进程页面中查看 CPU 和内存使用率。
随后的页面将显示所选任何给定指标的平均利用率。 单击单个 pod 将进入其进程详细信息页面,其中可以查看有关 cpu/内存利用率和重新启动时间的信息。 对于 CSR,有关 CPU 和内存的详细信息都位于系统性能选项卡下。
如果发现 CPU 或者内存利用率过高,通常表明 CCV2 Pod 没有足够的副本来处理所有请求,因此水平扩展将是一种可能的解决方案。
运行在 CCV2 环境上的 Spartacus Storefront 如果出现性能问题该怎么分析相关推荐
- Android让APP运行在新环境上,Android Studio环境在真手机运行app项目教程
对于Android Studio环境在真手机运行app项目的相关操作有许多网友咨询过,小编今天就分享Android Studio环境在真手机运行app项目的详细步骤,一起好好学习下吧! 要想将Andr ...
- 真是环境下阿里云RDS实例mysql性能优化-慢查询分析、优化索引和配置
1.实战线上数据服务器参数: 数据库类型:MySQL 5.6 : CPU:10核: 数据库内存:12000MB: 最大IOPS:100000: 最大连接数:2000: 存储空间:共200.00G,数据 ...
- Java程序部署到Linux环境上运行
文章目录 前言 一.Java环境安装 二.Eclipse编译java程序并导出jar包 三.Linux环境上运行jar包 前言 想要在Linux上运行java程序,可以将java程序编译成功后导出成j ...
- idea使用本地代码远程调试线上运行代码---linux环境
场景: 之前介绍过windows环境上,用idea进行远程调试那么在linux环境下实战一下 环境: linux 测试应用:使用docker部署的platform-multiappcenter-bas ...
- 将您的基于 Accelerator 的 SAP Commerce Cloud Storefront 迁移到 Spartacus Storefront
原文:Migrate Your Accelerator-based Storefront to Project Spartacus 如果您已阅读过"迁移到 Spartacus javascr ...
- 安卓平台运行python_在 android 上运行 python 的方法
android官方目前没有支持在android设备运行python,但是网上有一些项目组做了这个事情:http://geeknizer.com/install-run-python-apps-scri ...
- AgileEAS.NET平台开发实例-药店系统-准备开发环境(上)
开篇 上一篇我们主要是讲述了如何根据数据库原型设计器提供的相关功能来构建ORM提供的相关信息,例如根据数据库与实体对象之间通过数据原型来进行双向的映射.本篇 我们将会根据上篇<AgileEAS. ...
- 在 Mac OSX 版的 LispBox 环境上安装配置 SBCL 详细过程
2019独角兽企业重金招聘Python工程师标准>>> 在 Mac OSX 版的 LispBox 环境上安装配置 SBCL 详细过程 今天在OSX版的 LispBox(使用CCL) ...
- 为何要把你的SAP运行在Oracle数据库上?
提起SAP和甲骨文这两家公司,真是有很多故事可以聊.抛开二者在应用软件领域的竞争不谈,今天在这里我们只聊数据库. 一家是全球最大的应用软件厂商,一家是数据库技术领域的巨头,因此人们自然而然会想把两家公 ...
最新文章
- 大数据分析决策平台问题总结
- C/C++中未定义行为
- 使用SQL Server 2008提供的表分区向导
- windows下安装python和Python-opencv
- Net::SSH::Perl 连接远程主机慢的原因
- GPO备份还原复制及导入
- sap后台配置原因代码_SAP FI后台配置清单
- 敏捷开发总结(2)开发过程活动
- MySQL数据库安装超级详细教程
- SQL(五) 数据库 表格删除 表格内容删除
- Vue整合甘特图(横道图、Gantt)实例
- Beautiful Soup4.2文档
- 涂抹mysql_《涂抹MySQL:跟着三思一步一步学MySQL》PDF版本下载
- 闲聊人工智能产品经理(AIPM)—方法论
- 司凤为璇玑抗鸿蒙熔炉,琉璃:结局最惨的是司凤和若玉?而是让人心疼的他,他死的太可惜...
- 什么是JDBC(一)-使用JDBC-详解JDBC系列
- 电路中的电流采样IC选型
- 以鸿蒙为景柱1009无标题,鸿蒙的意思
- 中科蓝汛 ----POWER 10S复位系统的坑
- 自媒体写作如何提高文章原创度?4个步骤,教你轻松去重
热门文章
- SMTP和STMP命令
- 安居客住房系统-基于Python-Django前后端分离开发(四)——户型、用户数据接口处理及其筛选
- 智慧物流解决方案-最新全套文件
- 总结一波 Redis 面试题,收藏起来
- 汽机车仪表/温控器/电量显示器/无线蓝牙音箱/电力监测仪等LCD段码液晶显示屏驱动IC-VK1623 LQFP/QFP100/DICE裸片,48*8段显示,兼容替代市面上的1623,且具省电模式
- amd 服务器 主板芯片组,amd主板芯片组是什么
- Unity3d入门—模拟刚体碰撞
- 微软打造复古游戏 MakeCode Arcade改善程序代码编辑麻烦
- 深入探究 WinRT 和 await
- 单变量微积分笔记——钟形曲线(Bell Curve)的积分以及(标准)正态分布