- 博客(99)
- 收藏
- 关注
原创 解决git在window11操作很慢,占用很大cpu的问题
在谷歌输入:git very slow in window 11。【git在window11操作很慢,占用很大cpu,最后也执行失败】
2023-10-14 22:36:38
1757
原创 redis查看耗时久的命令
在Redis中,latency命令用于监视和测量Redis实例的延迟。[查看延迟监视器阈值]这个值返回0,代表没有开启延迟监控。[开启/设置延迟监视的阈值]启动延迟监控的第一步是以毫秒为单位设置延迟阀值(latency threshold)。仅当事件耗时超过指定的延迟阀值才会记录延迟毛刺。用户可根据需要来设置延迟阀值。例如,如果基于Redis的应用能接受的最大延迟是100毫秒,则延迟阀值应当设置为大于或等于100毫秒,以便记录所有阻塞Redis服务器的事件。[技巧]
2023-09-28 15:08:49
2061
原创 Web Worker实现前端的“多线程”
/ 发送消息给 worker(将耗时的工作交给work线程去处理,这样就不会影响页面的渲染)// 获取id为"hello"的div元素。//worker进程计算好后发送过来结果。// 接收来自 worker 的消息。"接收来自 worker 的消息:"//将结果渲染到页面。
2023-09-28 10:57:30
366
原创 xdebug3开启profile和trace
生成文件的名称总是以 "cachegrind.out."开头,默认情况下以 PHP(或 Apache)进程的 PID(进程 ID)结尾。您可以使用 xdebug.profiler_output_name 更改文件名格式。双击shift,启动万能的搜索框,输入“Analyze Xdebug Profiler Snapshot”回车即可选择分析profile文件。下载地址:https://sourceforge.net/projects/qcachegrindwin/(1)通过phpstorm分析。
2023-09-22 14:56:06
881
原创 docker安装使用xdebug
1.1 到https://pecl.php.net/package/xdebug下载tgz文件,下载当前最新稳定版本的文件。文档地址:https://www.jetbrains.com/help/phpstorm/2021.3/configuring-xdebug.html。2、右键点击 Xdebug 图标选择选项点击进入配置页面将 IDE Key 设置完整保存。2、安装xdebug不同版本对应填写在php.ini的参数是不一样的。1、需要先安装PHP xdebug扩展。3、编辑项目的debug配置。
2023-09-21 15:32:30
1124
原创 rabbitmq之Consumer Prefetch(消费者预取)
不过,在这两种情况下,已交付但尚未处理的信息数量也会增加,从而增加用户 RAM(内存)消耗。当数量达到配置的计数时,RabbitMQ 将停止在通道上交付更多消息,直到至少有一条未确认的消息被确认。所以在a消费者第一条消息处理完成并确认之前,b消费者已启动,并接收了仅存的1条消息。先启动a消费者,隔1秒再启动b消费者,每条消息处理时间为5秒。看到的结果是a消费者消费了5条消息,b消费者消费了1条信息。然后先开启一个a消费者,再开启b消费者,发现只有a消费者不断的消费旧的消息,而b消费者”无动于衷“。
2023-08-25 16:50:10
1317
原创 go性能分析工具之trace
虽然CPU分析器做了一件很好的工作,告诉你什么函数占用了最多的CPU时间,但它并不能帮助你确定是什么阻止了goroutine运行,或者在可用的OS线程上如何调度goroutines。你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有关性能的问题,例如延迟、竞争和较低的并行效率。这是因为还没有安装graphviz,到下面网址下载安装,并且bin目录需要加到环境变量上(安装的时候可以选择添加的环境变量上,就不用手动加了)。
2023-07-21 14:30:10
393
原创 go-zero系列-限流(并发控制)
参考文章:https://go-zero.dev/docs/tutorials/service/governance/limiter。
2023-07-12 18:57:34
693
原创 grpc工具之grpcurl、grpcui、ghz
(window这样执行会报错:Error invoking method “pb.Order/login”: error getting request data: invalid character ‘u’ looking for beginning of object key string)2、在注册服务之后,启动反射服务:reflection.Register(rpcServer)1、安装grpcurl。
2023-06-15 19:18:39
1264
原创 Linux-centos7安装rabbitmq
安装并启动 RabbitMQ 后,可以使用 RabbitMQ 的命令行工具 rabbitmqctl 来管理 RabbitMQ。1、安装Erlang,RabbitMQ是使用Erlang语言编写的,所以需要先安装Erlang。需要再重启一波rabbit server。才能进入127.0.0.1:15672。2、可以通过以下命令在CentOS 7上安装RabbitMQ。在本地执行:curl 127.0.0.1:15672。
2023-05-04 09:56:57
1459
原创 goland编辑器设置Live templates,提高编码效率
之前用vscode编辑器。fp快捷键能很快打印出fmt.Printf的操作。换到goland,想要实现类似的操作,需要自己设置Live templates。
2023-04-28 11:27:08
587
原创 grpc实战-pb文件生成问题/空消息体问题
其实上面的链接也是根据它一开始报错给的链接上分享的: https://protobuf.dev/reference/go/faq#namespace-conflict。新版本:import google.golang.org/protobuf (更新后的API的主要特点是支持反射,并将面向用户的API与底层实现分开。(官方推荐新版本:We recommend that you use google.golang.org/protobuf in new code.)
2023-04-19 18:50:35
1113
原创 实战之redis进行模糊查找
由于这些命令允许增量迭代,每次调用只返回少量的元素,它们可以在生产中使用,而没有像KEYS或SMEMBERS这样的命令的缺点,因为当针对大的键或元素集合调用时,可能会阻塞服务器很长时间(甚至几秒钟)SCAN 命令是一个基于游标的迭代器,每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程。SSCAN, HSCAN,ZSCAN的用法和SCAN很相似,都是迭代获取内部的元素,他们的第一个参数都是元素的key。
2023-04-18 18:56:59
1520
原创 通过curl查看DNS 解析时间、TCP的连接时间、处理请求的总时间时间
其中,-o /dev/null 表示将输出结果重定向到 /dev/null,-s 表示静默模式,-w 表示显示格式化的输出,[url] 表示要访问的网址。【通过curl查看DNS 解析时间、TCP的连接时间、处理请求的总时间时间】time_starttransfer: 从请求开始到响应开始传输的时间。time_connect: TCP 连接时间,就是三次握手的时间。time_namelookup: DNS 解析时间。time_total: 总共花费的时间。
2023-04-13 10:11:39
3552
原创 解决workman部署到Linux环境无法启动和连接的问题(结合TP6框架)
我尝试过开放安全组、开启防火墙并开放对应端口。**最后把客户端连接websocket的地址从127.0.0.1改为服务器的IP地址就成功了。**我真的被自己蠢哭了。我们是用thinkPHP6的自定义命令(php think chat)去启动workman。这个问题困扰了我一下午。看要求的环境是否都是ok。
2023-02-13 10:12:28
1609
原创 thinkPHP6接入workman
查看TP6手册:命令行=>自定义命令第一步,执行以下命令,就会会生成一个app\command\Chat命令行指令类.第二步,配置config/console.php文件第三步,测试-命令帮助-命令行下运行php think输出执行然后将上一篇的workman开启wetsocket服务的代码复制到新创建的自定义命令类Chat.php中(划重点:要引入vendor目录下的autoload.php,路径要写对)(划重点:要引入vendor目录下的autoload.php,路径要写对)
2023-02-09 16:06:34
2486
8
原创 【redis有序集合操作】
【zcount:统计有序集合分数区间内的成员数量】【zunionstore :合并若干个有序集合为新的有序集合】#将user_login和user_login_2两个集合合并为新的有序集合all_login。user_login和user_login_2的score分别乘以1和2,最后两个数组相同成员的分数相加(sum)。如果aggregate=max,则取两个数组中分数最大的成员。
2022-12-30 10:55:11
625
原创 Mysql online DDL工具:gh-ost
先生成一个镜像表(影子表),在镜像表上执行DDL语句;从源表中拷贝数据到镜像表;依据 Binlog 信息完成增量数据的变更。最后用镜像表替换源表。整个 Online DDL 操作仅在最终 rename 源表与镜像表时会阻塞几秒钟的读写。
2022-12-27 16:10:10
1417
原创 [Golang] cgo: C compiler “gcc“ not found
gcc not found2、压缩包解压之后得到一个 mingw64 文件夹。gcc程序就在bin目录下3、将其放到环境变量系统属性->高级->环境变量4、检查gcc是否安装成功
2022-12-12 09:47:12
2765
原创 sql:通过select进行update
我们遍历类目表或者产品表去更新我们的价格字段。比如类目表有10条数据,我们就遍历10次,然后产品表每次都匹配一下当前的类目,去更新数据。产品表的价格字段因为类目表的折扣字段而改变。需要执行SQL语句更新产品表的价格。
2022-12-09 17:33:23
1477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人