首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏杨建荣的学习笔记

    生产环境数据迁移问题汇总(r2第16天)

    在测试环境中做了3轮数据迁移的演练,最终到了生产环境中,还是出现了不少问题,经过大半夜的奋战,终于是数据都迁移成功了。 2)人为失误,遗漏了脚本 在数据迁移之前运行了一些脚本来设置table nologging,index nologging,disable trigger..结果把最重要的foreign key的脚本给遗漏了 可能导致严重的性能问题。 但是生产系统中时间是最高贵的资源。收集统计信息会耗费不少的时间,这个时候可以根据表的大小来进行统计信息比例的调整。 6)外部表加载的性能问题 在之前的测试中,外部表加载的性能还是不错的,但是在生产中发现速度一下子打了折扣,本来一分钟150万的数据加载速度。 结果在生产中大概在4,5分钟的样子(150万条数据) 对于这个问题,可能还需要考虑并行的情况。因为cpu的使用率一直没有上去。需要考虑稍后抓取ash报告来查验当时倒底有哪些瓶颈。

    1.4K70发布于 2018-03-14
  • 来自专栏编程从踩坑到跳坑

    Mysql生产死锁问题定位

    # Mysql生产死锁问题定位 生产上一个消费mq消息的服务出现了死锁问题,通过命令获取到的mysql日志如下: ===================================== 2023-06 ACTIVE 0 sec inserting mysql tables in use 1, locked 1 LOCK WAIT 3 lock struct(s), heap size 1136, 2 X locks gap before rec insert intention waiting Record lock, heap no 292 PHYSICAL RECORD: n_fields 2; use 1, locked 1 3 lock struct(s), heap size 1136, 2 row lock(s), undo log entries 1 MySQL thread id ; (total 32 bytes); *** WE ROLL BACK TRANSACTION (2) 代码sql # 删除数据 delete `db`.

    41530编辑于 2023-11-09
  • 来自专栏日常杂记

    生产集群spark报错问题

    2、修改分区 通过spark.sql.shuffle.partitions控制分区数,默认为200,根据shuffle的量以及计算的复杂度适当提高这个值,例如500。 5、考虑是否存在数据倾斜的问题 总结 1、org.apache.spark.shuffle.FetchFailedException 1、问题描述 这种问题一般发生在有大量shuffle操作的时候,task 2、报错提示 (1) missing output location org.apache.spark.shuffle.MetadataFetchFailedException: Missing an  2、Executor&Task Lost 1、问题描述 因为网络或者gc的原因,worker或executor没有接收到executor或task的心跳反馈 2、报错提示 executor lost WARN 2、错误提示 数据倾斜 任务倾斜 差距不大的几个task,有的运行速度特别慢。 3、解决方案 数据倾斜:数据倾斜大多数情况是由于大量null值或者""引起,在计算前过滤掉这些数据既可。

    2.9K20发布于 2021-03-17
  • 来自专栏sktj

    Docker 生产环境实践2

    image.png 1、3台主机:1台管理机、2台主机、1台日志服务器 管理机上ansible、配置文件、仓库、监控 2台主机安装keepalived 3台主机打通网络 1台日志服务器,原来用

    51620发布于 2019-12-13
  • 来自专栏句小芒的学习专栏

    php 生产kafka 不生效问题

    记录一下php 调用 kafka 生产者代码但是消费者端口收不到数据的情况 PHP代码如下: <? 结论: 在生产者还未将 缓冲区数据数据发送到主题中时,该进程已经结束导致消费者终端不能接收到数据。 ---- 6/10 更新 调用flush() 函数来 ,使kafka生产者发送缓冲区中的消息记录(record)可以被立即发送。并且一直阻塞,直到这些消息记录都发送完成。 <?

    2.2K20编辑于 2022-12-29
  • 来自专栏SAP最佳业务实践

    SAP最佳业务实践:生产订单拆分-工具生产(236)-2生产订单

    CO01创建工具生产生产订单 直接创建工具生产生产订单,无需使用 MRP 计划。 角色生产计划员 后勤 ®生产 ®车间现场控制 ®订单 ®创建 ®含物料 1. 在 生产订单创建:抬头屏幕上,输入数量(如 2),并选择 回车 确认您的输入。系统按生产订单类型YDP1展开工艺路线和物料单,并执行计划。同时检查物料可用性,确认任何消息。 ? 创建采购申请 1(采购申请) 交货计划表 3(计划行) 创建MRP清单 1(MRP 清单) 计划模式 1(适应计划数据(普通模式)) 调度 2(前置时间计划和能力计划) 处理控制参数 也计划未更改组件 2. 在 按计划订单备料 屏幕上,输入您的工厂。 3. 在 需求的选择区间 字段,输入订单中需要物料的日期或之后的日期。 4. 补货存储地点是在物料主数据 MRP2 视图中指定的外部采购的存储地点。应该和采购订单使用相同的存储地点。通过库存确定自动填充此字段。 在屏幕底部,选择 全选。 选择 阶段。 ? 选择 保存。

    3.5K40发布于 2018-03-27
  • 来自专栏JavaEdge

    大厂的线上生产问题排查指南

    生产环境 排查难度最大: 生产环境权限管控严格,一般不允许调试工具从远程附加进程 生产环境出现问题要求以恢复为先,难以给你充足时间排查问题。 但,因为生产环境的流量真实、访问量大、网络权限管控严格、环境复杂,因此更容易出问题,也是出问题最多的环境。 监控 生产环境出现问题时,因为要尽快恢复应用,就不可能保留完整现场用于排查和测试。 、WARN用于需要关注的问题、ERROR用于阻断流程的错误 对于监控,在生产环境排查问题时,首先就需要开发和运维团队做好完备的监控方案: 主机层面,对CPU、内存、磁盘、网络等资源做监控。 通常情况下,我们会为生产环境的Java应用设置-XX:+HeapDumpOnOutOfMemoryError和-XX:HeapDumpPath=…这2个JVM参数,用于在出现OOM时保留堆快照。 重点回顾 今天,我和你总结分享了分析生产环境问题的套路。 第一,分析问题一定是需要依据的,靠猜是猜不出来的,需要提前做好基础监控的建设。监控的话,需要在基础运维层、应用层、业务层等多个层次进行。

    4K21发布于 2021-02-23
  • 来自专栏运维ABC

    生产环境自启动失败问题排查

    node01 /etc/rc.d]# chmod u+x rc.local 新建模拟自启动脚本startall.sh和startapp.sh,注意自启动文件/etc/rc.local需要加执行权限 2. startapp.sh脚本内容模拟生产上应用用户app启动的两个进程,分别用新建的目录test01和文件test.txt替换,若能正常生成文件且文件属主为app:app,则自启脚本达到目标。 二、生产复现 1.重启前系统检查 重启服务器,复现生产遇到的问题,重启前检查: [root@node01 ]# route -n [root@node01 ]# cd /tmp [ route -n [root@node01 ]# cd /tmp [root@node01 /tmp]# l 发现路由新增正常,两个文件也有生成,但是属主为root,不是希望的app,和生产出现的问题一致 三、问题排查解决 1.排查思路 路由新增了,而且test01和test.txt两个文件也产生了,证明脚本startall.sh执行没有问题,重点查看脚本startapp.sh。

    64010编辑于 2021-12-16
  • 来自专栏捡田螺的小男孩

    遇到生产问题,你会慌嘛?

    刚毕业的孩子或者工作没多久的程序员,遇到生产问题,很容易就惊慌失措。其实,我们都知道,着急是没有用,因为急是解决不了问题的。 今天田螺哥跟大家一起来聊聊,如何应对生产问题。 遇到生产问题时,着急是人的一种正常反应,我们要做的是,冷静一下。一定要调整好自己的心态。 还有一点,着急的话,很容易就分散你解决问题的精力!所以遇到生产问题,需要先调整好自己心态,泰然处之。 2. 专注于解决问题! 调整好心态之后呢,我们需要专注于如何解决问题。 我们要的,就是快速解决问题! 5. 技术输出,多总结生产问题 解决完生产问题后,建议大家可以写写技术总结,为什么会出现这个问题,如何规避解决这个问题等等。 之前有篇生产问题的技术总结,大家可以看下哈: 生产问题分析!delete in子查询不走索引?! 6. 平时开发设计时,统筹兼顾! 从出现的生产问题,可以反思我们平时开发设计时,要怎么想得周全一点。

    47320发布于 2021-11-19
  • 来自专栏软件开发 -- 分享 互助 成长

    生产者-消费者问题

    接上一篇进程之间的同步和互斥,生产者-消费者问题常常用来解决多进程并发执行过程中的同步和互斥问题。 原理如下: 把一个长度为n(n>0)的有界缓冲区与一群生产者进程P1,P2,…,Pm和一群消费者进程C1,C2,…,Ck联系起来,只要缓冲区未满,生产者就可以往缓冲区中放产品,只要缓冲区未空,消费者就可以从中取走产品消耗 (1)同步条件:生产者只有在至少有一个临界区的单元为空的时候,才能生产产品,消费者只有在至少有一个临界区被填上产品的时候,才能消耗产品,所以设置两个同步变量,avail为生产者的私有变量,初值为n,full (2)互斥条件:生产者和消费者不能同时访问临界资源,所以设置一个互斥变量mutex初始值为1. 生产者进程:                消费者进程: p(avail)                    p(full) p(mutex)                    

    1K80发布于 2018-02-05
  • 来自专栏Java学习录

    生产者消费者问题

    p1"); Thread p2 = new Thread(new ProducerThreadDemo(), "生产者p2"); Thread p3 = new Thread (), "消费者c2"); c1.start(); c2.start(); }} 接下来程序打印的结果就像预想中一样了: 生产者p1号线程生产一件资源 ,当前资源1个生产者p2号线程生产一件资源,当前资源2生产者p3号线程生产一件资源,当前资源3个消费者c1号线程拿走了一件资源,当前资源2个消费者c2号线程拿走了一件资源,当前资源1个生产者p1号线程生产一件资源 ,当前资源2生产者p3号线程生产一件资源,当前资源3个生产者p2号线程生产一件资源,当前资源4个。。。 p1"); Thread p2 = new Thread(new ProducerThreadDemo(), "生产者p2"); Thread p3 = new Thread

    79500发布于 2019-04-18
  • 来自专栏java架构计划训练营

    生产者消费者问题

    问题背景 生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件 对于生产者,生产了产品之后,又需要马上通知消费者消费,而生产足量时,暂停生产,等待消费者消费 对于消费者,在消费之后,要通知生产生产 ;而无产品消费时,暂停消费,等待生产生产生产者消费者问题中,仅有synchronized是不够的 synchronized可以阻止并发更新同一个共享资源,实现了同步 synchronized不能用来实现不同线程之间的消息传递 /消费者模式"(管程法) 生产者:负责生产数据的模块(可能是方法、对象、线程、进程) 消费者:负责处理数据的模块(可能是方法、对象、线程、进程) 缓冲区:消费者不能直接使用生产生产的产品,他们之间设立了 "缓冲区";生产者将生产好的产品放入缓冲区,消费者从缓冲区获得产品 public class TestPC { public static void main(String[] args) { this.notifyAll(); return product; } } 并发协作模型"生产者/消费者模式"(信号灯法) public class TestPC2

    78510编辑于 2022-06-14
  • 来自专栏技术客栈

    Swagger2生产环境禁用

    二、禁用方式 基于 2.10.5 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2< /version> </dependency> 方式一(推荐) 在自定义的 SwaggerConfig 配置类中,通过 @ConditionalOnProperty(prefix = "swagger2" (prefix = "swagger2", value = {"enable"}, havingValue = "true") public class SwaggerConfig { @Bean 配置文件如下 spring: profiles: dev swagger2: enable: true --- spring: profiles: prod swagger2: enable prod环境下不写此配置) 方式二 同样在配置文件中编写配置文件 在自定义的 SwaggerConfig 配置类中获取配置文件中的配置信息 @Configuration @EnableSwagger2

    2.2K10编辑于 2023-07-20
  • 来自专栏千里行走

    nginx-2:部署生产级openresty

    :openresty-1.15.8.1.tar.gz tar -xzvf openresty-VERSION.tar.gz cd openresty-VERSION/ #需要安装各种组件以适用于生产环境 安装pcre-devel与openssl-devel解决问题 yum -y install pcre-devel openssl openssl-devel 3.2.编译错误2 gmake阶段报错:dtrace 错误提示(gmake阶段):collect2: error: ld returned 1 exit status 网上相同问题的解决方式: https://blog.csdn.net/iaiot/article 注意:这个模块也只在有需要使用的基础上启用,如果配置不正确,它将带来安全问题。 --with-stream --with-stream_ssl_module (7).相关阅读 nginx-1:生产级别nginx高性能配置

    2K10发布于 2019-11-28
  • 来自专栏Devops专栏

    Django 2 生产环境部署 uwsgi nginx

    Downloading https://mirrors.aliyun.com/pypi/packages/e7/1e/3dcca007f974fe4eb369bf1b8629d5e342bb3055e2001b2e5340aaefae7a uWSGI master process (pid: 29508) spawned uWSGI worker 1 (pid: 29512, cores: 1) spawned uWSGI worker 2 437 bytes (1 switches on core 0) next_url = machine_unit:machine_unit_list [pid: 29512|app: 0|req: 1/2]

    1K20发布于 2019-10-15
  • kafka-2-生产者-流程

    客户端组件2. 客户端缓存存储模型3. 确定消息的 partition 位置4. 发送线程的工作原理1、通过使用以下四大客户端组件来完成客户端消息的发送工作: 1、KafkaProducer:是一个生产者客户端的进程,通过该对象启动生产者来发送消息。 2、RecordAccumulator:是一个记录收集器,用于收集客户端发送的消息,并将收集到的消息暂存到客户端缓存中。 3、确定消息的 partition 位置:2 种方式:对Partition哈希求余、轮询 A:对于指定了 key 的消息,partition 位置的计算方式为:Utils.murmur2(key) 消息在网络中传输的方式只能通过二级制的方式), 可通过实现Serializer自定义序列化规则4、确定数据分区(确定消息的 partition 位置) 分区策略很重要,好的分区策略可以解决数据倾斜的问题

    24510编辑于 2024-03-10
  • 来自专栏测试技术圈

    nginx-2:部署生产级openresty

    7).相关阅读 本文需要配合下述文章阅读/使用: nginx-1:生产级别nginx高性能配置 (1).下载源码 https://openresty.org/cn/download.html 我下载的是最新版本 :openresty-1.15.8.1.tar.gz tar -xzvf openresty-VERSION.tar.gz cd openresty-VERSION/ #需要安装各种组件以适用于生产环境 安装pcre-devel与openssl-devel解决问题 yum -y install pcre-devel openssl openssl-devel 3.2.编译错误2 gmake阶段报错:dtrace 错误提示(gmake阶段):collect2: error: ld returned 1 exit status 网上相同问题的解决方式: https://blog.csdn.net/iaiot/article 注意:这个模块也只在有需要使用的基础上启用,如果配置不正确,它将带来安全问题

    2.7K30发布于 2019-12-05
  • 来自专栏杨建荣的学习笔记

    生产环境sqlldr加载性能问题及分析之一 (r2第17天)

    在测试环境中进行了多轮测试,使用sqlldr批量加载数据,csv文件大概有120G左右,在一致的数据量的情况下,测试环境都在一个小时左右,但是在生产环境中竟然跑了将近2个小时,性能差了一倍。 而且生产环境的服务器配置还要好一些。对于这个奇怪的问题,尽管说数据第一轮数据迁移已经完成了,对于之后的数据迁移还是很好的参考和经验借鉴。 今天对生产环境和测试环境中的信息进行了比对。 2.对于session的情况,测试库和生产库有着明显的差别,测试库中的session在105-264左右,但是在生产库中却有760-780左右,我之前建议在生产数据迁移的时候把listener的端口改了 还有一个是归档的问题 下面是查看数据库归档的情况,可以看到生产库归档在119次左右,而测试库在130次左右,日志切换的次数多,说明在那个时间段内处理了更多的数据操作。 ? 最后,比较top event的情况作为一个引子,明天来详细的阐述这些等待事件后面的一些问题

    86360发布于 2018-03-14
  • 来自专栏张志敏的技术专栏

    生产环境编译 Angular 2 应用

    生产环境编译 Angular 2 应用 Angular 2 已经发布了 2.1.2 版本, 相信很多人已经在使用(试用)了, 相比 AngularJS 1.x , Angular 2 在性能上有了长足的进步 , 同时 Angular 2 也变得非常的庞大, 动辄几兆的脚本, 如何部署到生产环境? 接下来就介绍如何为生产环境编译 Angular 2 应用, 在本文中, 我们将 Angular 2 官方文档中的 Hello Angular 应用编译到 50K 以下, 以用于生产环境。 从上图可以看出, 仅仅一个 Hello 应用, 就产生了 40 个请求, 加载了 1.8M 的脚本, 这个在生产环境下(特别是移动端)是无法接受的。 经过这样的终极编译优化编译之后, 应该可以放心的部署到生产环境了。

    1.7K30发布于 2020-08-10
  • 来自专栏杨建荣的学习笔记

    生产环境sqlldr加载性能问题及分析之二(r2第20天)

    这条sql语句执行了近2个多小时,Undo都被耗光了。 CUSTOMER_BAN",SUBSTR("A2"."TITLE"||' '||"A2"."FIRST_NAME",1,1500),......... ....... 看到这,我就恍然大悟了,测试环境和生产环境有一个参数是不一样的,在生产环境中修改,启用异步IO需要重启实例,但是在生产数据迁移之前,时间已经很紧张了,所以计划把这个参数变更推迟到第二阶段,没想到有这么大的影响 所以总结这次数据迁移的问题,主要有两个主要原因导致性能下降, 一个是有外部的用户在访问数据库,他们在不间断的做一些查询,有个别查询还比较大,耗费了大量的undo资源。 大概占40%以上的因素 一个原因是因为数据库的异步IO设置的问题。大概占50%以上的因素。

    76250发布于 2018-03-14
领券