s********k 发帖数: 6180 | 1 我的意思是实际上运行环境很多事虚拟化的,你把NGINX跑到VM上是不是也会性能下降.
VM肯定性能下降,但是大家(Golang http server 和NGINX)都下降下,你再比较下呢?
?关于去VM倒是又是一个课题。
了。 |
|
发帖数: 1 | 2 Nginx下降更多,都用VM結果是nginx和golang的差距比裸機小,從原來的10倍或100倍
下降到一半或幾倍,可能這就是網上說的golang和c差距不大的原因。去VM性能提高很
多,這也是亞馬遜買CPU公司做硬件的原因。
降.
呢? |
|
s********k 发帖数: 6180 | 3 对啊,我就是这个意思,专门针对单机优化上,最接近底层的C做出来的还是肯定好,
但是很少golang是在bare的单机上运行,大部分都是distributed的VM上 |
|
T********i 发帖数: 2416 | 4 其实所谓云架构,大多数是没啥必要的。
VM慢了一个数量级以上,无论如何都不能justify。
被人收割骗钱而已。 |
|
p*u 发帖数: 2454 | 5 云本来就是为了节省IT support的costs,不是提高性能。 |
|
s********k 发帖数: 6180 | 6 追求性能肯定要自己做,但是大部分应用上云架构主要是方便,开启服务,scale,
monitor,啥都方便,等到服务做大了,再专门自己搞DC做 |
|
m*****n 发帖数: 3575 | 7 你和软件工程师只有一个本质差别:
你不掌握生产资料,所以只能被剥夺剩余价值
卡尔 马克思 |
|
发帖数: 1 | 8 不明白。软件工程师不是也在被剥夺剩余价值?
本来软件既是生产资料又是劳动产出,结果给来了个开源。
唉唉唉 |
|
发帖数: 1 | 9
你见过什么重要的东西做的很完美的搞开源的, 除了sun那个傻逼公司 |
|
|
f******2 发帖数: 2455 | 11 开源是牛逼但不被承认的社会底层的唯一出路,类似十月革命掀桌子
: 你见过什么重要的东西做的很完美的搞开源的, 除了sun那个傻逼公司
|
|
|
m*****n 发帖数: 3575 | 13 R就是这么搞的
一边开源
一边弄个收费高级版
还有Qt系列也是如此 |
|
|
发帖数: 1 | 15 IO虛擬化目前只有intel的vt-d、sr-iov、apic-v做得很好,其他非x86架構都不行,因
為軟件問題。別看白皮書介紹得簡單,裡面非常複雜,非常不好做,坑特別多。性能只
有xeon可以接近裸機,這就是xeon佔領99.9%市場的原因,amd都不行。
是I |
|
w**z 发帖数: 8232 | 16 现在有自己DC的公司已经没几个了。以后也不太会有新的公司用自己DC了 |
|
s********k 发帖数: 6180 | 17 做到500B市值以上一般都会有(FGAM等),100B估计开始考虑但是还是可以全在cloud
上,比如netflix,但是99%公司还没到追求极致性能就死掉了 |
|
w**z 发帖数: 8232 | 18 你提到的那些都是在 cloud 流行之前开始的,不存在从 cloud 转到 自己 DC 的。公
司规模越大,要转的代价就越大, 真不如乖乖给 aws 写支票。新的有一定规模的公司
,除了 uber, 都在云上。
:做到500B市值以上一般都会有(FGAM等),100B估计开始考虑但是还是可以全在
cloud
:上,比如netflix,但是99%公司还没到追求极致性能就死掉了 |
|
|
w**z 发帖数: 8232 | 20 that was a bold move.
During its early years, Dropbox ran its entire operation on Amazon’s cloud
computing service. But more recently it has moved much of its
infrastructure off AWS to cut down on costs. The company said that in 2016,
it was able to shrink its cost of revenue by $35.1 million as part of its
AWS migration, which it refers to as “Infrastructure Optimization.” As
tech publication GeekWire notes, the data center move help saved
Dropbox about $75 million over a two-yea... 阅读全帖 |
|
发帖数: 1 | 21 感覺golang的默認goroutine設計模式有問題,下面是golang http microbenchmark的
perf report:
60.24% [kernel] [k] arch_cpu_idle
6.43% [kernel] [k] _raw_spin_lock
4.40% http [.] runtime.runqgrab
2.19% http [.] runtime.findrunnable
感覺golang如果有很多goroutine和thread,大部分時間都會用在runtime.runqgrab上
,然後runtime.futex會過載,導致系統60% CPU都是idle |
|
发帖数: 1 | 22 在runtime/proc.go裡面有很多lock(&sched.lock),
例如把goroutine放到global runq裡面就需要lock
func goschedImpl(gp *g) {
status := readgstatus(gp)
if status&^_Gscan != _Grunning {
dumpgstatus(gp)
throw("bad g status")
}
casgstatus(gp, _Grunning, _Grunnable)
dropg()
lock(&sched.lock)
globrunqput(gp)
unlock(&sched.lock)
schedule()
}
sched是runtime2.go裡面的一個全局變量
var (
allglen uintptr
allm *m
... 阅读全帖 |
|
c****f 发帖数: 1102 | 23 现在只有很极致的公司才追求那10%的性能优化 更多的追求实用 短平快
人家根本不care这点区别 再堆机器就是了 机器多少钱 我请人回来弄类似nginx的
memory trick得花多少钱 以后怎么维护? 升级 更新怎么办?
就想之前碰到一个公司 所有的http服务都是in house的 结果碰到H2 自己做的基于LVS
的链接toss back不能用了不说 连H2的功能的prototype都要做好久
但是市场需求就是马上要H2 你怎么办? 只能去掉自己in house的LB
所有在用人成本 今后维护 各方面来说 真的可以追求那最顶点性能优化的公司也就没
几个
现在K8S这么热 大家都网上迁呢 谁在乎调度器和API被干爆了如何 多加几个就是了 |
|
发帖数: 1 | 24 看清我的結論:性能差別10倍不止,不是10%,如果是50%,我都會說golang很好。但是
差距1000%,我就呵呵了。
LVS |
|
f*******t 发帖数: 7549 | 25 别钻牛角尖了,找到一个特殊的应用说性能差10倍以上,作为技术研究是好的,但没有
实际意义。用Go写backend service的公司很多,碰到性能瓶颈,总会有fix或者
workaround。如果真的需要10倍性能,而Go无论如何都达不到的,就换更合适的语言写
对应的模块唄。 |
|
发帖数: 1 | 26 http的goroutine和gogc不是特殊應用,是golang做web後台的基礎好麼,回去先看看什
麼是goroutine和gogc再來回復。這兩個問題非常不好workaround,是golang區別於cpp
語言的根子。 |
|
g****t 发帖数: 31659 | 27 做web后台那你就和java比啊。和cpp较劲为哪般呢。。。
任何语言和c/cpp,fortran,pascal比性能都没什么意义。
cpp |
|
发帖数: 1 | 28 要不是因为EE工程师们的不断努力提升硬件速度,现在最流行的应该是汇编或者c.
以前编程要讲究效率,现在“快”的要求从运算速度转向成develop和维护,搞硬件的
功不可没 |
|
g****t 发帖数: 31659 | 29 Golang写起来和python一样容易。那么
只要比python快几倍就可以了。不和c plus比。 |
|
g****t 发帖数: 31659 | 30 以前程序员是硬件的奴隶。然后程序语言是C设计者的奴隶。
现在语言的设计要讨好程序员,不然出门就是死。
在这个程序员民主化进程中,唯一的例外是basic.
Basic一开始就要讨好程序员。所以bill gates是basic的粉丝,
不是没有道理的。
: 要不是因为EE工程师们的不断努力提升硬件速度,现在最流行的应该是汇编或者
c.
: 以前编程要讲究效率,现在“快”的要求从运算速度转向成develop和维护,搞
硬件的
: 功不可没
|
|
|
g****t 发帖数: 31659 | 32 参考文献
http://time.com/69316/basic/
Basic: the language that made computers personal
I would lik to say:
DNN: the algorithm that made data analysis personal
: 以前程序员是硬件的奴隶。然后程序语言是C设计者的奴隶。
: 现在语言的设计要讨好程序员,不然出门就是死。
: 在这个程序员民主化进程中,唯一的例外是basic.
: Basic一开始就要讨好程序员。所以bill gates是basic的粉丝,
: 不是没有道理的。
: c.
: 硬件的
|
|
|
s*********y 发帖数: 6151 | 34 静态文件下载 这种cdn业界早就做烂了 百分之90以上的cdn服务后端都是nginx改吧
改吧 你提这种问题没意思的很 |
|
d******c 发帖数: 2407 | 35 你这个引申的结论就不合适了
搞framework,做软件工具的是要发明轮子,因为那是他们的市场,他们要创造市场
但是对软件工程师的需求不是来自于这些被创造的市场,而是来源于软件能做的事情太
多,可能性无限。
硬件也可以做很多,但做个新硬件的成本和限制太多,周期太长,开辟新市场,产生新
产值这方面和软件没法比。软件从开源的开始往加东西,现成的都不需要成本,成本只
有很少的硬件成本,scale起来硬件成本不需要同样放大。硬件你用现成的也得先把硬
件成本算上,而且这个成本是和规模一起放大的。
你要想转CS,就得学习CS的优点,不能只从酸葡萄心理出发,那没有好处。哪怕你真的
认为软件就是靠烂创造市场,那你就该想想你怎么学这一招,也来靠烂创造市场。
另外nginx本来就是俄罗斯人搞的,在一个领域追求性能极致,golang是几个人创造工
具创造市场给自己保住饭碗,你用的更不知道是谁写的自己吹牛用的,跟nginx这样在
市场中证明的肯定没法比。 |
|
g****t 发帖数: 31659 | 36 Can we put go binary server behind the nginx ? |
|
T*******x 发帖数: 8565 | 37 numpy 糟蹋C的性能了吗?
:软件也是,c的性能被numpy糟蹋,numpy被pandas糟蹋,tensorflow被keras糟蹋,
:pandas和keras用的人最多。下里巴人最好找工作。 |
|
发帖数: 1 | 38 我的主要觀點是硬件設計非常謹慎,我們改幾行RTL都得層層審批,一幫大牛評估,可
有可無的都被砍掉,於是硬件CPU廠家的性能差距越來越小。而軟件互聯網領域開發要
求糙快猛,實現同樣的功能,性能差異極大,導致各種方便麵語言橫行,golang是一個
,python更差,java也不咋滴。
我認為主要原因不是golang、python、java這些語言爛,而是用這些語言的大部分程序
員普遍缺乏軟件效率和CPU架構的基本常識,寫的東西爛。但這些並不妨礙他們的
package大,福利更好。因為硬件領域狡兔死獵狗烹,做得太穩定就沒工作了。
: 你这个引申的结论就不合适了
: 搞framework,做软件工具的是要发明轮子,因为那是他们的市场,他们要创造
市场
: 但是对软件工程师的需求不是来自于这些被创造的市场,而是来源于软件能做的
事情太
: 多,可能性无限。
: 硬件也可以做很多,但做个新硬件的成本和限制太多,周期太长,开辟新市场,
产生新
: 产值这方面和软件没法比。软件从开源的开始往加东西,现成的都不需要成本,
成本只
: 有很少的硬... 阅读全帖 |
|
发帖数: 1 | 39 互聯網領域講究一個月上線,勉強完成功能,然後不斷改進提高性能,提升空間有一百
倍以上。硬件正好相反,用幾年時間設計,一旦發布,靠固件和微指令性能提升空間只
有幾個percent,如果出問題(meltdown)新固件性能下降卻很大。這就是我感嘆的地
方。 |
|
发帖数: 1 | 40 试过rust的iron或者rocket没有? 期待你的评估结果 |
|
w***g 发帖数: 5958 | 41 可以的,但是该慢还是慢啊。我现在全线从apache2转nginx了。 |
|
发帖数: 1 | 42 你說的scale成本低是不準確的。我們硬件scale有兩種:scale-up和scale-out。你說
的scale成本線性增加是scale-out,但多核處理器設計必須要考慮scale-up,就是在同
樣內存地址空間上爆核心,問題很多,不容易提升。另外MPI算scale-out,OpenMP是
scale-up。互聯網基本是scale-out,傳統數據庫是scale-up。CPU設計兩個都需要考慮。
: 你这个引申的结论就不合适了
: 搞framework,做软件工具的是要发明轮子,因为那是他们的市场,他们要创造
市场
: 但是对软件工程师的需求不是来自于这些被创造的市场,而是来源于软件能做的
事情太
: 多,可能性无限。
: 硬件也可以做很多,但做个新硬件的成本和限制太多,周期太长,开辟新市场,
产生新
: 产值这方面和软件没法比。软件从开源的开始往加东西,现成的都不需要成本,
成本只
: 有很少的硬件成本,scale起来硬件成本不需要同样放大。硬件你用现成的也得
先把硬
: 件成本算上,而且这个成本是和规模一起放大... 阅读全帖 |
|
发帖数: 1 | 43 感觉magagop兄说这么多,还是因为自己挣得太少,如果把你的package和互联网换过来
,你应该很开心吧
加油吧,有空去龟版看看,里面氛转码围很好的
爱你宝贝 |
|
d***a 发帖数: 13752 | 44 ngnix快,是因为写它的人对硬件性能非常了解,对软件底层细节抠的很细。连C++都不
用,只用C, 就是为了性能最大化啊。
其实你自己不就是在做这种类型的工作吗?我的理解,你做的工作是系统软件优化,
对吧? |
|
y*j 发帖数: 3139 | 45 Apache 的那些project用过几个,每个质量都相当差,印象相对不好。
: 可以的,但是该慢还是慢啊。我现在全线从apache2转nginx了。
|
|
|
m**u 发帖数: 541 | 47 其实这很好理解,什么都是为着客户转的,你看看现在垃圾程序员是大多数,作为语言
的客户,你得为着他们转,搞高了他们弄不转,就不用了,所以没有客户了,语言就挂
了。所以,归根结底,是现在程序员烂货居多导致的。 |
|
d******c 发帖数: 2407 | 48 任何一个功能要做好都没有简单的
这个功能有现成的最好产品,golang根本没有动力去再做一遍,做的只是一个demo,为
了证明说它能做,实际不可能去和人家竞争,根本没有动力,没有资源去做,也没有多
少钱途,因为nginx已经push到极限了,很难有余地做的更好
软件界什么功能往往都有一堆实现,但是大部分都很难没法用,因为随便什么人都可以
开始个项目,但那根本不是产品 |
|
发帖数: 1 | 49 其实magagop兄耿耿于怀的就是那帮傻x凭啥挣那么多了,百思不得其解
索南都不容易啊,大家一起转码拿大包不好吗? |
|
发帖数: 1 | 50 软件做这么烂?为啥还能拿大包呢?百思不得其解啊 |
|