高性能zap go

SQLServer性能优化之二

SQLServer性能优化之二 背景 优化了机器的硬件配置之后性能好了很多 但是偶尔还是会出现阻塞. SQL总是奇奇怪怪的. 其实第一天时就感觉可能是索引存在问题. 但是dbcc 重建所有数据库的索引太慢了. 所以作罢了, 从HDD传输到SSD后大部分功能已经可以用了 以为问题就此解决, 但是跟踪发 ......
SQLServer 性能

记录:k6性能脚本连接Redis取值

为了捡起以前学过的一个性能框架k6,拿现在公司的项目来上手,打算业务测试之余拿系统的接口跑跑性能。 本周的问题主要集中在k6脚本中引入redis的问题。因为项目系统的登录页面是涉及到验证码图片的,后端写了逻辑会把验证码的值写入在redis,所以登录的时候绕不开这个。再加上对js的生疏,所以本周一直在 ......
脚本 性能 Redis

【涨薪技术】0到1学会性能测试 —— 分类及应用领域

【涨薪技术】0到1学会性能测试 —— 分类及应用领域 上一次推文我们分享了性能测试相关的专业术语,今天我们来看下性能测试的分类及应用领域!后续文章都会系统分享干货,带大家从0到1学会性能测试~ 性能测试划分 01、负载测试 负载测试是指服务器最大负载能力; 02、压力测试 压力测试是指在一定压力情况 ......
应用领域 性能 领域 技术

Go使用asynq

asynq是基于reids的队列,支持多种形式 消费者 package main import ( "context" "fmt" "log" "os" "os/signal" "syscall" "time" "github.com/hibiken/asynq" ) // HandleMsg 处理 ......
asynq

Go plugin

创建plugin_1.go&编译 package main import "fmt" func Greet(name string) { fmt.Println("Hello", name) } go build -buildmode=plugin -o xxxx.so plugin_1.go 加载 ......
plugin Go

如何使用 PreparedStatement 来避免 SQL 注入,并提高性能?

✨前言✨ 本篇文章主要如何使用 PreparedStatement 来避免 SQL 注入,并提高性能? 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 @目录🍎一,什么是 PreparedStatement ?🍎二,为什 ......
PreparedStatement 高性能 SQL

Go - var _

var _ HelloServiceInterface = (*HelloServiceClient)(nil),其中HelloServiceClient是一个结构体,另外一个自然是一个interface。代码的作者称这行代码要求后面的结构体必须实现前面的接口,不然会出现编译错误。 另外有类似的语句 ......
var Go

go三种超时退出方法

Golang实现 超时退出 有哪三种方式,你知道吗? 原创 磊丰 Go语言圈 2023-11-21 08:30 发表于美国 收录于合集#学Go语言哪些事儿241个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 公众号 ......
方法

go读写锁

go读写锁 互斥锁每次只让一 g通过,去读写数据。但是读数据操作,并发其实没有问题。所以诞生了 读写锁。 读协程可以并发,一起读。但是 写协程还是要走互斥锁,只能一个个通过。 先加了读锁 先加了读锁。那么写的协程,就需要去休眠队列中等待。一直到读锁都释放。 先加了写锁 这个时候,不管再来 写协程还是 ......

记一次vscode 打开go项目的处理方式

问题:需要用vscode打开 没有用 go.mod 管理的项目 打包项目为linux执行的二进制文件 vscode 全局 settings.json配置 ```json { "go.formatTool": "gofmt", "go.gopath": "D:\\GoPath;", "go.goroo ......
方式 项目 vscode

记一次vscode 打开go项目的处理方式

问题:需要用vscode打开 没有用`go.mod` 管理的项目 打包项目为linux执行的二进制文件 vscode 全局`settings.json`配置``` <br/> ```json{ "go.formatTool": "gofmt", "go.gopath": "D:\\GoPath;", ......
方式 项目 vscode

jwt在go中的应用

官网 JWT 什么是 JWT 在现代的 Web 应用开发中,目前已经有大半部分的应用都是使用的 jwt 的方式来做登录鉴权功能,那么什么是 jwt 呢? JSON Web Token(JWT) 是一个开放标准 RFC 519,它定义了一种紧凑且自包含的方式,用于作为 JSON 对象在各方面之间安全地 ......
jwt

go互斥锁

互斥锁的定义 type Mutex struct { state int32 sema uint32 } 一个 sema,背后实际上 是一个 休眠队列,可以看下上篇。 一个state,这个状态 分为4个部分。 后三位 各自代表一个状态。 前29位代表最大可等待协程的个数。 state的结构 lock ......

案例解析关于ArkUI框架中ForEach的潜在陷阱与性能优化

本文分享自华为云社区《深入解析ForEach的潜在陷阱与性能优化:错误用法与性能下降的案例分析》,作者:柠檬味拥抱 。 在ArkUI框架中,ForEach接口是基于数组类型数据进行循环渲染的强大工具。它需要与容器组件搭配使用,并能够根据数据源动态生成相应的子组件。以下是对ForEach接口的详细解析 ......
潜在 陷阱 框架 性能 案例

【涨薪技术】0到1学会性能测试 —— LR录制回放&事务&检查点

前言 上一次推文我们分享了性能测试分类和应用领域,今天带大家学习性能测试工作原理、事务、检查点!后续文章都会系统分享干货,带大家从0到1学会性能测试,另外还有教程等同步资料,文末免费获取~ 01、LR工作原理 ​通常我们认为LoadRunner是由三部分组成:VuGen、Controller、Ana ......
检查点 amp 性能 事务 技术

Go--命名规则

在Go语言中,项目名和文件名的命名规则有一些建议和惯例。以下是一些常见的规则和最佳实践: 项目名: 项目名应该简短、有意义,并能够清晰地表达项目的目的或功能。 项目名通常使用小写字母,使用连字符或下划线分隔单词。 项目名不应包含特殊字符或空格。 项目名应尽量避免与现有的库或包名冲突。 文件名: 文件 ......
规则 Go

Go语言实现GoF设计模式:备忘录模式的实践探索

在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。 ......
模式 设计模式 备忘录 语言 GoF

通过Span实现高性能数组,实例解析

Span<T> 是 C# 7.2 引入的一个强大的数据结构,用于表示内存中的一块连续数据。它可以用于实现高性能的数组操作,而无需额外的内存分配。在本文中,我将详细介绍如何使用 Span<T> 来实现高性能数组操作,并提供一些示例代码来说明其用法。 什么是 Span? Span<T> 是 System ......
数组 高性能 实例 Span

go锁基础 - atomic、sema

atomic和sema是实现go中锁的基础,简单看下他们的实现原理。 atomic `atomic 常用来作为保证原子性的操作。 当多个协程,同时一个数据进行操作时候,如果不加锁,最终的很难得到想要的结果。 var p int64 = 0 func add() { p = p + 1 } func ......
基础 atomic sema

使用Go Validator在Go应用中有效验证数据

使用Go Validator在Go应用中有效验证数据 原创 TimLiu 爱发白日梦的后端 2023-12-01 08:01 发表于广东 作为一名开发者,确保Go应用中处理的数据是有效和准确的非常重要。Go Validator是一个开源的数据验证库,为Go结构体提供强大且易于使用的数据验证功能。本篇 ......
Validator 数据

go-GMP 协程切换时机 和 协程实战

当m在执行某个g的时候,g非常耗时,例如一个for循环,每次循环sleep1分钟,循环1000次。 这个例子看似无聊,却是很难解决的,成功的避开了2个系统切换时机。 如果这个时候,一直执行这个g,别的g就会得不到执行,例如有g是处理用户支付的,这样就会造成收钱不积极。 协程饥饿问题 本地队列 本地队 ......
实战 时机 go-GMP GMP go

C#中HttpWebRequest发起HTTP请求,如何设置才能达到最大并发和性能

在C#中使用HttpWebRequest发起HTTP请求时,达到最大并发和性能可以从以下几个方面改进: 1. ServicePointManager设置 ServicePointManager 类是一个静态类,它提供了用于管理HTTP连接的属性和方法。为了提升并发性能,你需要调整以下几个关键属性: ......
HttpWebRequest 性能 HTTP

一次显著的性能提升,从8s到0.7s

前言 最近我在公司优化了一些慢查询SQL,积累了一些SQL调优的实战经验。 我之前写过一些SQL优化相关的文章《聊聊SQL优化的15个小技巧》和《explain | 索引优化的这把绝世好剑,你真的会用吗?》,在全网广受好评。 这篇文章从实战的角度出发,给大家分享一下如何做SQL调优。 经过两次优化之 ......
性能 0.7

go-GMP

go的协程和线程都绕不过GMP,关于GMP基本的工作流程,有go开发经验的大致都懂,这边更多关注GMP如何解决一些类似 协程饥渴的问题,以及底层的大致实现原理。 多线程循环 上篇讲了单线程是如何循环的,这里还是为 GMP的出场 大致介绍下。 工作模型 多个M都去全局G的队列中获取 g,所以,全局g的 ......
go-GMP GMP go

P3455 [POI2007] ZAP-Queries

题意 求 \(\sum_{i = 1} ^ {n} \sum_{j = 1} ^ {m} [gcd(i, j) = k]\)。 Sol \[\begin{aligned} f(k) &= \sum_{i = 1} ^ {n} \sum_{j = 1} ^ {m} [\gcd(i, j) = k] \ ......
ZAP-Queries Queries P3455 3455 2007

go build 跟 go run 的区别

go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。 1.go run go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。 使用 go run 命令时 ......
build go run

(转)Go实现随机加盐密码认证

原文:https://juejin.cn/post/7068192471498358821 为什么要加密 人们往往有使用同一密码的习惯, 为了防止数据库意外泄露/破坏和出于保护用户隐私的目的, 不应在数据库里存入用户密码明文 实现 代码 scss 复制代码 package main import ( ......
机加 密码

Dokcer + nginx + Gitee Go 实现一键化部署你的项目

- 什么是 CICD 是指持续集成、持续发布,是⼀套实现软件的构建测试部署的⾃动化流程。 什么是 DevOps ⼀词是由英⽂ Development(开发)和 Operations (运维)组合⽽成 ⼀种思想,强调软件开发测试运维的⼀体化,减少各个部⻔之间的沟通成本从⽽实现软件的快速⾼质 ᰁ 的发布 ......
项目 Dokcer nginx Gitee Go

Linux 内核参数调整解析:深度优化数据库性能 转载:https://www.toutiao.com/article/7304950566709559843

系统内核参数配置文件:/etc/sysctl.conf 一、参数说明 1、关闭 IPv6 支持 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 作用:关闭对 IPv6 的支持,减轻系统负担,提高安全性 ......

优化系统性能:同步与异步操作的巧妙平衡

在今天的数字化环境中,优化系统性能是任何技术团队不可忽视的重要任务。在这一过程中,合理地利用同步和异步操作扮演着至关重要的角色,直接影响着系统的响应速度、资源利用率以及用户体验。 同步操作:简单直观但潜藏风险 同步操作按照顺序执行,其优点在于逻辑清晰、易于理解和调试。然而,在性能优化方面,同步操作可 ......
性能 系统