草庐IT

web-performance

全部标签

amazon-web-services - DynamoDB创建Session的常用函数

我正在开发一个使用goSDK的基于AWSLambda的应用程序。我有多个调用DynamoDBAPI的函数。目前我正在创建session的每个函数中。我想的不是这个,如果我可以创建一个可以创建session的通用方法。这个session可以被其他函数使用。代码片段如下-funcGetDynamoDbConnection(customerIdstring)*dynamodb.DynamoDB{roleArn:=constants.IAM_ROLE_ARN_PREFIX+constants.AWS_ACCOUNT_ID+":"+constants.IAM_ROLE_STR+constants

amazon-web-services - 在 AWS Lambda 上使用 golang 解码错误,在本地工作

我在golang中创建了应该支持端点API(通过获取查询)的代码。这是API端点的文档:https://developer.dotdigital.com/docs/get-all-campaigns代码如下所示:typeCampaignstruct{Idint`json:"id,omitempty"`Namestring`json:"name,omitempty"`Subjectstring`json:"subject,omitempty"`FromNamestring`json:"fromName,omitempty"`FromAddressstruct{Idint`json:"id

go - 如何将 web 模板变量设置为动态 html 和 golang 代码?

我在golang上有两个网页,我想将这个页面代码嵌入到{{.content}}变量(在templates/main.html中定义),根据即将到来的请求动态变化。例如,如果客人进入用户注册页面,我希望{{.content}}变量将是用户注册代码,否则是用户配置文件代码。templates/userregister.html页面代码;{{define"userregister"}}...{{.specialmessage}}...{{end}}templates/userprofile.html页面代码;{{define"userprofile"}}...{{.specialmessag

amazon-web-services - 缺失区域 : could not find region configuration in golang and aws sns

我是Golang和AWS的新手。我正在尝试使用AWSSNS发送短信。我已经设置了环境变量,然后尝试发送短信。exportAWS_ACCESS_KEY_ID=AKIAIOSFODN..exportAWS_SECRET_ACCESS_KEY=wJalrXUtnFEM..exportAWS_DEFAULT_REGION=us-west-2我试图调试我出错的地方但总是报错MissingRegion:找不到区域配置packagemainimport("fmt""github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session

amazon-web-services - 用 DynamoDB 中的新项目替换旧项目

我正在使用https://godoc.org/github.com/aws/aws-sdk-go-v2/service/dynamodb#DynamoDB.PutItemRequest我的函数看起来像:func(hdynamoHandler)save(selectionDeliveryDate)(errerror){av,err:=dynamodbattribute.MarshalMap(selection)iferr!=nil{log.WithError(err).Error("failedtomarshalselection")return}req:=h.db.PutItemReq

performance - 大量内存使用会减慢不相关的代码

我正在维护一个读取和写入大量数据的Go项目的代码,并且已经成功完成了一段时间。最近,我做了一个改变:一个大约有200万条记录的CSV文件在程序开始时加载到一个带有struct值的map中。该映射仅用于B部分,但首先执行A部分。这第一部分的运行速度明显比以前慢(处理时间翻了两番)。这很奇怪,因为那部分逻辑没有改变。我花了一个星期试图解释这是如何发生的。以下是我采取的步骤(当我提到性能时,我总是指A部分,它不包括将数据加载到内存中的时间,实际上与它无关):该程序在Docker容器内的服务器上运行。但是我已经能够在没有容器的情况下在我的笔记本电脑上重现它:与在内存中没有加载文件数据的情况下运

amazon-web-services - 从指定的 S3 目录列表中检索内容

有没有办法通过仅调用一次云API来从特定S3存储桶的指定目录列表中检索所有文件的列表?例如,假设我的S3云服务具有以下结构:A/AA/XXX/B/BB//EMPTYC//EMPTYD/DD/XXX/而且我还有我希望从中检索内容的目录列表:RequestedPaths:{"A/AA/XXX","B/BB/XXX","C/CC/XXX","D/DD/XXX"}我想创建一个包含键/值对的映射,其中键由特定目录路径表示,值由其内容表示。如果路径不存在,则键/值对不应该存在。像这样:Map{"A/AA/XXX":Content"D/DD/XXX":Content}请注意,没有对应于B/BB/XX

去旅行练习 : Web Crawler - all goroutines are asleep - deadlock

练习来自:https://tour.golang.org/concurrency/10描述:Inthisexerciseyou'lluseGo'sconcurrencyfeaturestoparallelizeawebcrawler.ModifytheCrawlfunctiontofetchURLsinparallelwithoutfetchingthesameURLtwice.Hint:youcankeepacacheoftheURLsthathavebeenfetchedonamap,butmapsalonearenotsafeforconcurrentuse!这是我的答案:pac

performance - Go - 在用于负载测试的高性能 http 客户端中,如何阻止/忽略所有 cookie?

我正在为我的公司创建工具来对我们的系统进行负载测试。我目前有用Python编写的工具,但我正在探索使用Go的选项,希望提高效率和性能,因为我们需要同时生成数百万用户(每个盒子有数千个,有很多盒子)并且每一点都很重要。我的用户主要对我们的系统进行http调用,我需要一个非常轻量级和高效的http客户端。对于我们的Python工具,以前的员工有一些功能手动处理和重用套接字并完全忽略cookie。虽然我是Go的新手,但到目前为止我已经比较了多个Go网络实现,我对CPU和网络使用情况很满意,所以我认为我还不需要手动管理套接字,但是RAM使用率比我们的Python解决方案高出数倍。我怀疑这是由于

amazon-web-services - 使用多个键更新 dynamodb golang

我想用键列表更新dynamodb表。我的结构是:{身份证,代码串我有一个Code值列表,当寄存器等于任何Code值时,我希望dynamodb更新:{ID:1,代码:“任何东西”}{ID:1,代码:“another_code”}当表找到值为1的ID和类似“anything”或“another_code”的代码时,它会更新寄存器的值。我确实注意到这是不可能的,我应该使用循环并每次更新每一行,是这样吗?returndynamodb.UpdateItemInput{TableName:&tableName,Key:attributeObject,UpdateExpression:&expres