[置顶] [Go语言]我的性能我做主(1)

对于一些服务来说,性能是极其重要的一环,事关系统的吞吐、访问的延迟,进而影响用户的体验。写性能测试在Go语言中是很便捷的,go自带的标准工具链就有完善的支持,下面我们来从Go的内部和系统调用方面来详细剖析一下Benchmark这块儿。benchmarkGo做Benchmar只要在目录下创建一个_test.go后缀的文件,然后添加下面函数:func BenchmarkStringJoin1(b *te...
阅读(4278) 评论(4)

[置顶] [独家] Go1.8大幅改进了海量对象的GC性能(不同语言的横向对比)

 众所周知,Go1.7版本及之前的版本都是针对高并发下的系统吞吐进行优化,对海量对象存储时的优化力度并不够。下个版本就是1.8了,那么1.8会给我们带来这种惊喜吗?请继续往下看。 本次benchmark使用多语言实现,测量的是一个web服务,该服务通过一个大型的hashtable存储了250K个对象。 该服务还满足了下述3个前提条件: 1.每次http请求都会添加一个新对象,并且在对象数大于2...
阅读(11508) 评论(6)

记一次获得 3 倍性能的 Go 程序优化实践,及 on-cpu / off-cpu 火焰图的使用

先把结论列在前面:1.Golang的性能可以做到非常好,但是一些native包的性能很可能会拖后腿,比如regexp和encoding/json。如果在性能要求较高的场合使用,要根据实际情况做相应优化。2.on-cpu/off-cpu火焰图的使用是程序性能分析的利器,往往一针见血。虽然生成一张火焰图比较繁琐(尤其是off-cpu图),但绝对值得拥有!之前一直使用Logstash作为日志文件采集客户...
阅读(442) 评论(0)

最佳日志数据实践

原文链接: https://zhuanlan.zhihu.com/p/273634840. 缘起大约在三年前,我曾经写过一篇 最佳日志实践,还被码农周刊选为那年的 最受欢迎技术干货 之一。当时我任职于网易杭州研究院的存储平台组,主要做网易对象存储(NOS)的开发和部分运维工作。由于网易云音乐,易信等几个重要产品陆续上线,业务压力剧增,我们的系统在前前后后大约半年的时间里,出现了大大小小各种事故。通...
阅读(259) 评论(0)

那些年使用缓存踩过的坑

原文链接: https://mp.weixin.qq.com/s?__biz=MzI3OTUwMjM4MA==&mid=2247483718&idx=1&sn=3324abf6b2a3245e330b35213ee922a5&chksm=eb478a05dc300313355f4e437ec701b58356c4aa19ad36c46c4031216dab3016e016bda8afee#rd今天...
阅读(269) 评论(0)

[产品设计]如何绘制业务流程图(下)

原文链接 http://www.woshipm.com/pmd/27239.html有一些同学看过了我写的《如何绘制业务流程图》,发私信过来希望我谈谈页面流程图。这个话题其实我也酝酿过,但一直没有写出来。细究起来,除了懒,原因其实有好几条:这一年半来的工作都是围绕数据平台建设,不是很通用,没法举例。虽然自己一直画页面流程图,但是说实话属于偏方多一些,按直觉行事,要总结出一两条可通用的“规则”比较难...
阅读(948) 评论(0)

[产品设计]如何绘制业务流程图(上)

本来写完上篇,我发现没有太多必要单纯讨论这一部分内容,因为对于很多人来讲,缺的不是具体的做法,而是做这件事情的意义以及目标性的明确。一旦对这件事情的意义和目标有深刻认同,那自然会产生较大的动力去研究How这个层次的所需方法和技能。时间管理也如此,很多时间管理技巧牛逼的人未必能够把时间管理做到位,因为内心克服不了强大的拖延症,而克服拖延很多时候是一个心理问题而不是技巧问题……咳咳,这不是在说我自己吗...
阅读(657) 评论(0)

不懂这些法律问题,你的创业融资很危险

9月3日,混沌研习社大课《创新撬动资本》北京开讲,汉坤律师事务所创始合伙人李朝应走上讲台,和研习社社员分享了《创业融资的架构、流程以及热点法律》。李朝应说,也许各位现在不一定马上会去做融资,但是相信以后要做融资时,把今天的课程内容拿出来看看,会很有帮助。(本文根据李朝应9月3日在混沌研习社的课程内容整理而成,有删节,约为课程内容1/8。戳此获取课程PPT。研习社社员登陆混沌APP<点此下载>,免费...
阅读(811) 评论(0)

[Go语言]binary tree算法的华山论剑

在benchmarkgame(世界上最火的性能对比网站)上,Go语言一直有一个槽点,就是极其慢的binary tree性能,执行用时40秒 (我的机器上,16秒),与此对比,Java版本是6秒,那么问题来了:为什么慢得令人发指?我们来深入研究下慢的原因,然后看看能否对其进行改进。  对于binary tree算法中,最耗性能的地方就是海量的node分配和bottomUpTree()递归函数的调用,与...
阅读(2458) 评论(0)

[Go语言] 面向外网的Web调优详解(go1.8)

很早以前crypto/tls(TLS长连接库)和net/http的性能不敢恭维,因此我们都使用Nginx做反向代理,但是Go1.8将要来了,这种格局即将被打破了! 我们最近尝试性的将Go1.8编译的服务暴漏到了外网,结果发现crypto/tls 和net/http都得到了极大的提升:稳定性、性能以及服务的可伸缩性!crypto/tls 现在已经是2016年了,我们不可能再去裸奔在互联网了,因此基...
阅读(2739) 评论(0)

Raft算法国际论文全翻译

最近在开发强一致性的分布式算法,因此需要深入理解下Raft算法,这里对Raft论文进行了翻译,留以备用 - Sunface. 英文版论文:https://ramcloud.atlassian.net/wiki/download/attachments/6586375/raft.pdf     Raft 是一种通过日志复制来实现的一致性算法,提供了和(多重)Paxos 算法相同的功能和性能,但是它的...
阅读(4075) 评论(1)

深层神经网络结构及可能存在的致命问题详解

Logistic回归、传统多层神经网络1.1 线性回归、线性神经网络、Logistic/Softmax回归线性回归是用于数据拟合的常规手段,其任务是优化目标函数:h(θ)=θ+θ1x1+θ2x2+....θnxn" role="presentation" style="margin: 0px; padding: 0px; dis...
阅读(3185) 评论(1)

5张图看尽Go语言GC的演变史

1.5版本:1.6版本:1.6.2版本:1.7版本:1.8beta1(18G堆栈全采样):总结:在18G的堆栈下,GC STW时间已经不会超过1ms了;在正常偏高负载下,STW时间应该低于100微妙,在正常服务中,STW时间应该低于10微妙。不得不说,go又一次取得了对GC的阶段性胜利,有谷歌做亲爹果然威力无边!...
阅读(2287) 评论(0)

是时候选择NewSQL数据库了

开源 RDBMS 与互联网的崛起很长时间以来,关系型数据库一直是大公司的专利,市场被 Oracle / DB2 等企业数据库牢牢把持。但是随着互联网的崛起、开源社区的发展,上世纪九十年代 MySQL 1.0 的发布,标志着关系型数据库的领域社区终于有可选择的方案。MySQL第一个介绍的单机 RDBMS 就是 MySQL。相信大多数朋友都已经对 MySQL 非常熟悉,基本上 MySQL 的成长史就是...
阅读(4396) 评论(0)

群聊这么复杂,该怎么玩转?

原文链接 【需求缘起】之前的文章更多的聊了单对单的消息投递:《微信为什么不丢消息?》《http如何像tcp一样实时的收消息?》群聊是多人社交的基本诉求,不管是QQ群,还是微信群,一个群友在群内发了一条消息:(1)在线的群友能第一时间收到消息(2)离线的群友能在登陆后收到消息由于“消息风暴扩散系数”的存在(概念详见《QQ状态同步究竟是推还是拉?》),群消息的复杂度要远高于单对单消息。群消息的实时性,...
阅读(621) 评论(0)

直播如何解决延时问题?

原文链接:http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659598371&idx=1&sn=b9e81fc19c36c0c2a29dc98e27a6b215&chksm=8be99531bc9e1c275c0452fcc5ce9317b9617ca038f867c0d2c0bcd5f3c8c5cb17ea3008b6c8&mpshar...
阅读(8838) 评论(0)

我们如何用Go来处理每分钟100万复杂请求的场景

在Malwarebytes 我们经历了显著的增长,自从我一年前加入了硅谷的公司,一个主要的职责成了设计架构和开发一些系统来支持一个快速增长的信息安全公司和所有需要的设施来支持一个每天百万用户使用的产品。我在反病毒和反恶意软件行业的不同公司工作了12年,从而我知道由于我们每天处理大量的数据,这些系统是多么复杂。有趣的是,在过去的大约9年间,我参与的所有的web后端的开发通常是通过Ruby on Ra...
阅读(1880) 评论(1)

Go、Nginx、Php、Nodejs谁能胜出紫禁之巅

声明:这里的测试框架都是很常用的框架,不去跟一些奇葩但是所谓性能极高的框架进行对比 由于我们在项目中大量使用Iris和nginx这两个Web框架(纯Go语言实现,零内存拷贝),同时也听过很多人问Go的Http性能对比nginx、对比nodejs到底如何,有鉴于此,今天我们就来做一个Web框架性能真实比拼。 测试环境图: 下面从多个维度对4个框架进行对比:Nginx   VS   Nginx-php...
阅读(5086) 评论(2)

工程师也该学习机器学习了!

一、 程序员是一个知识更新较为迅速的一个职业,这个行业的知识的更新速度,有的时候会超过你的学习速度。大部分的人都在不断的更新自己的知识体系,这里笔者要向读者安利一下机器学习(包含深度学习)的重要性,以及常见的知识。作为个人能力的提升,笔者觉得这一点是程序猿/媛,需要掌握的一想技能。 其实在互联网公司工作过的同学都应该有这样的感触,我们正在从IT到DT的转型,算法在应用中变得越来越重要了。 处在向D...
阅读(882) 评论(0)

机器学习之工程师入门路线

相信想学习机器学习的广大工程师们已经被那些算法大神的言论虐的怕怕的了吧?不用担心,我来带你们理理一个工程师需要入门机器学习,到底要走哪个路线? 一、 基础 不用多说,机器学习作为高门槛领域,基础还是需要的,但是也没有想得那么恐怖,很多人提问机器学习需要哪些数学知识,然后就会得到一大堆犹如天书般高大上的回答: 矩阵分析、微积分、概率论、统计学、数学分析等等,如果按照这些算法大神的路线去走,也许这条...
阅读(2117) 评论(3)

一些不常见的Go命令参数详解

你是刚开始使用Go工具么?或者你想扩展知识?这篇文章将会描述每个人都需要知道的Go工具参数。免责声明:这篇文章可能会有些偏见。这篇文章描述了我个人会用到的Go工具参数,还有一些是我周围的人遇到的问题。如果你还有别的想法,在Twitter联系我。$ go build -x-x会列出来go build调用到的所有命令。如果你对Go的工具链好奇,或者使用了一个跨C编译器,并且想知道调用外部编译器用到的具...
阅读(1694) 评论(1)
713条 共36页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1290710次
    • 积分:19270
    • 等级:
    • 排名:第472名
    • 原创:578篇
    • 转载:93篇
    • 译文:42篇
    • 评论:178条
    博客专栏