由买买提看人间百态

topics

全部话题 - 话题: nginx
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
s*********y
发帖数: 6151
1
来自主题: Programming版 - 谁用过OpenResty?
一个中国人写的 Nginx + LuaJit 很legit啊 大概看了下感觉相当不错
s*********y
发帖数: 6151
2
来自主题: Programming版 - 谁用过OpenResty?
你用Kong的啥模块?
Kong很好 不过好像用不到那么多功能 OpenResty足够我现在的需要
很多服务根本不需要 写太多code 纠结什么Nodejs Closure 还是Exlire, 直接在
Nginx上做足够了
OpenResty甚合我心 。 直接10K个并行链接 完爆任何后端framework
s*********y
发帖数: 6151
3
来自主题: Programming版 - 谁用过OpenResty?
我看了Kong的模块很多都是用nodejs写的
最近很多新开源都用node写的
Clojure只闻其声 未见其形 没见到啥啊

nginx

发帖数: 1
4
来自主题: Programming版 - 中年EE转纯CS建议
軟件設計太重要了,今天測試golang algernon http server靜態文件性能,比nginx差
了幾十倍以上。在我們硬件CPU領域,別說差幾倍,性能提升5%都叫大改進,可以更新
一代架構了。。。
世界上硬件CPU公司屈指可數,軟件互聯網公司多如牛毛。最牛的CPU公司性能比最差的
快也不到一倍,硬件設計師除非是世界頂尖,否則不可能有公司出大價錢雇用。
相反不合格的軟件工程師寫的爛程序性能可能下降上百倍,而且還有安全漏洞,所以公
司願意多花幾倍的包裹雇用,整體對公司來說還是省錢的。所以大多數互聯網公司對硬
件的要求是穩定就好,不關心性能。而他們自己的軟件開發部門不停的refactoring,
翻修輪子製造工作崗位。
對於優秀的硬件工程師,也就一兩家公司競爭offer。同樣優秀的軟件工程師會有十幾
家或更多公司競爭,包裹大幾倍就成了正常的市場現象。。。


: 要转就转彻底,我以前一起bringup的兄弟都转码了,告诉我我们这些焊板子,
设计PLL

: 的经验都是shit,干的年头越多越多shit,早点转码,机会会多很多,形势比人
强。太

: 多东西放不下... 阅读全帖

发帖数: 1
5
要不是因为EE工程师们的不断努力提升硬件速度,现在最流行的应该是汇编或者c.
以前编程要讲究效率,现在“快”的要求从运算速度转向成develop和维护,搞硬件的
功不可没
g****t
发帖数: 31659
6
Golang写起来和python一样容易。那么
只要比python快几倍就可以了。不和c plus比。
g****t
发帖数: 31659
7
以前程序员是硬件的奴隶。然后程序语言是C设计者的奴隶。
现在语言的设计要讨好程序员,不然出门就是死。
在这个程序员民主化进程中,唯一的例外是basic.
Basic一开始就要讨好程序员。所以bill gates是basic的粉丝,
不是没有道理的。


: 要不是因为EE工程师们的不断努力提升硬件速度,现在最流行的应该是汇编或者
c.

: 以前编程要讲究效率,现在“快”的要求从运算速度转向成develop和维护,搞
硬件的

: 功不可没


发帖数: 1
8
嗯,各花入各眼,很难一个语言一统江湖。
g****t
发帖数: 31659
9
参考文献
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.

: 硬件的


发帖数: 1
10
没用,又没钱,还天天担心被裁,惨惨惨
T*******x
发帖数: 8565
11
numpy 糟蹋C的性能了吗?

:软件也是,c的性能被numpy糟蹋,numpy被pandas糟蹋,tensorflow被keras糟蹋,
:pandas和keras用的人最多。下里巴人最好找工作。

发帖数: 1
12
我的主要觀點是硬件設計非常謹慎,我們改幾行RTL都得層層審批,一幫大牛評估,可
有可無的都被砍掉,於是硬件CPU廠家的性能差距越來越小。而軟件互聯網領域開發要
求糙快猛,實現同樣的功能,性能差異極大,導致各種方便麵語言橫行,golang是一個
,python更差,java也不咋滴。
我認為主要原因不是golang、python、java這些語言爛,而是用這些語言的大部分程序
員普遍缺乏軟件效率和CPU架構的基本常識,寫的東西爛。但這些並不妨礙他們的
package大,福利更好。因為硬件領域狡兔死獵狗烹,做得太穩定就沒工作了。


: 你这个引申的结论就不合适了

: 搞framework,做软件工具的是要发明轮子,因为那是他们的市场,他们要创造
市场

: 但是对软件工程师的需求不是来自于这些被创造的市场,而是来源于软件能做的
事情太

: 多,可能性无限。

: 硬件也可以做很多,但做个新硬件的成本和限制太多,周期太长,开辟新市场,
产生新

: 产值这方面和软件没法比。软件从开源的开始往加东西,现成的都不需要成本,
成本只

: 有很少的硬... 阅读全帖

发帖数: 1
13
互聯網領域講究一個月上線,勉強完成功能,然後不斷改進提高性能,提升空間有一百
倍以上。硬件正好相反,用幾年時間設計,一旦發布,靠固件和微指令性能提升空間只
有幾個percent,如果出問題(meltdown)新固件性能下降卻很大。這就是我感嘆的地
方。

发帖数: 1
14
试过rust的iron或者rocket没有? 期待你的评估结果

发帖数: 1
15
你說的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
16
感觉magagop兄说这么多,还是因为自己挣得太少,如果把你的package和互联网换过来
,你应该很开心吧
加油吧,有空去龟版看看,里面氛转码围很好的
爱你宝贝
d***a
发帖数: 13752
17
ngnix快,是因为写它的人对硬件性能非常了解,对软件底层细节抠的很细。连C++都不
用,只用C, 就是为了性能最大化啊。
其实你自己不就是在做这种类型的工作吗?我的理解,你做的工作是系统软件优化,
对吧?
e*******o
发帖数: 4654
18
看了一下algernon 一个人搞的大杂烩。
lz你比较各啥。
m**u
发帖数: 541
19
其实这很好理解,什么都是为着客户转的,你看看现在垃圾程序员是大多数,作为语言
的客户,你得为着他们转,搞高了他们弄不转,就不用了,所以没有客户了,语言就挂
了。所以,归根结底,是现在程序员烂货居多导致的。

发帖数: 1
20
其实magagop兄耿耿于怀的就是那帮傻x凭啥挣那么多了,百思不得其解
索南都不容易啊,大家一起转码拿大包不好吗?

发帖数: 1
21
软件做这么烂?为啥还能拿大包呢?百思不得其解啊

发帖数: 1
22
golang的http microbenchmark结果跟algernon一样,说明不是algernon问题,要不就
是golang需要额外调优,跟jvm一样https://github.com/golang/benchmarks/blob/
master/http/http.go

..

发帖数: 1
23
但是http都这么弱,违背了当初golang的卖点:如java一样好用,类似c的性能。
其实性能比c弱多了,根本就不是类似好么。
s********k
发帖数: 6180
24
同学,这些语言的目的就是让人不需要了解硬件底层都可以写,要不又懂CPU,又懂多
核,NUMA架构,还懂服务器设计的人才实在太少,怎么满足的了人民群众日益增长的需
求啊

发帖数: 1
25
对头,一个人随便写写,就能开一个项目,拿大包裹。
algernon支持的feature一大堆,却连基本的http static file都做不好。
说明很多开源项目的功能其实是只能看看而已,别当真。
golang不吹牛说跟C效率类似,就更没有人用了
s********k
发帖数: 6180
26
其实你可以去把它那个改好,就也能拿大包裹了:)
话说我看到很多benchmark都没有差10倍,C肯定是要快,不过你可以贴code看看是不是
哪里测试错了

发帖数: 1

发帖数: 1
28
赞magagop兄这么坦诚,爱你

发帖数: 1
29
赞magagop兄这么坦诚,爱你
h*i
发帖数: 3446
s********k
发帖数: 6180
31
话说老兄觉得Golang现在没法pin to core,不识NUMA,这正是大好机会啊,你要是能
够参与这方面的工作岂不是立马就大包裹了.看问题角度要不同嘛,你看到一个东西烂
,但是还很受欢迎,不要去质疑为什么烂还收欢迎,要去想为啥这么烂还能收欢迎,我
稍微改进下岂不是可以日进斗金。这样想大包裹自然来。
随便给两个你看看
https://docs.google.com/document/u/0/d/1d3iI2QWURgDIsSR6G2275vMeQ_X7w-
qxM2Vp7iGwwuM/pub
https://docs.google.com/document/d/1At2Ls5_
fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit

发帖数: 1
32
> : https://docs.google.com/document/d/1At2Ls5_
> : fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit
竟然是Russ Cox,多年前经常在USACO上看到他的题解,往事如梦啊

发帖数: 1
33
罪魁祸首找到了:obj := *(*uintptr)(unsafe.Pointer(b + i))
// scanobject scans the object starting at b, adding pointers to gcw.
// b must point to the beginning of a heap object or an oblet.
// scanobject consults the GC bitmap for the pointer mask and the
// spans for the size of the object.
//
//go:nowritebarrier
func scanobject(b uintptr, gcw *gcWork) {
// Note that arena_used may change concurrently during
// scanobject and hence scanobject may encounter a pointer to
// a new... 阅读全帖

发帖数: 1
34
赞啊,转码浪费了,可是不转还是没钱,唉,人生好难
f*******t
发帖数: 7549
35
展开说说?

发帖数: 1
T********i
发帖数: 2416
37
pid 29010 貌似是GC thread。否则没法解释20us醒一次。
GC overhead如果20%的话,其实是很不错的。C的内存管理overhead其实也很高。一般
比20%要大。
当然我可以用空间换时间。但是那是customize allocators。
g****t
发帖数: 31659
38
牛。GC你统计过longest pause什么的吗?
gc作者之一在这里
https://groups.google.com/forum/m/?fromgroups#!topic/golang-dev/Ab1sFeoZg_8


: 罪魁祸首找到了:obj := *(*uintptr)(unsafe.Pointer(b i))

: // scanobject scans the object starting at b, adding pointers to
gcw.

: // b must point to the beginning of a heap object or an oblet.

: // scanobject consults the GC bitmap for the pointer mask and
the

: // spans for the size of the object.

: //

: //go:nowritebarrier

: func scanobject(b uintptr, gc... 阅读全帖
g****t
发帖数: 31659
39
可预测性很重要。jvm最早时候我记得老死机吧?
c的话比较复杂,各种编译器各种优化什么的。


: pid 29010 貌似是GC thread。否则没法解释20us醒一次。

: GC overhead如果20%的话,其实是很不错的。C的内存管理overhead其实
也很高
。一般

: 比20%要大。

: 当然我可以用空间换时间。但是那是customize allocators。

s********k
发帖数: 6180
40
赞干货
两个问题
1,关闭GC等于内存最后一直在那然后不会回收,你做一次test可能性能更好,但是肯
定不是长久之计,GC只有20%的overhead其实还不错了,拿完全手动内存分配的C和go的
GC比肯定好,就像极致的手动挡当然比自动挡快,可以比较下JVM有GC下的overhead?
2. FUTEX, 是不是这个问题?https://github.com/golang/go/issues/23360
话说完全可以提交一个PR了

JVM
herd
d***a
发帖数: 13752
41
我的两分钱如下: :-)
1. 我并不知道algernon是怎么实现的。从trace看,从一个打开的了socket里处理一个
http get请求,algernon用了六七个线程来做,似乎algernon滥用了goroutine。
goroutine用起来很方便,也许是这个原因?当然这是假设所有的线程都和这个请求相
关,看起来象。
2. SO_REUSEPORT和futex没有直接联系吧。goroutine多了,相互之间要同步,futex调
用就会多。SO_REUSEPORT的目的是快速重用网络端口吧,用了SO_REUSEPORT,不会减少
futex调用。
我说的不一定对。

JVM
herd
d***a
发帖数: 13752
42
看了一下algernon源代码,好像就是用了golang的http包,在上面加了一层处理各种文
件类型...如果我的理解没错。
这样来做,不太可能有好的性能啊。:)
s********k
发帖数: 6180
43
golfing 里面那个http package最好?

发帖数: 1
44
内存设计得好,就不需要自动GC。内存泄露可以用工具各种测试,反而JVM GC的bug不
好弄,也不好优化。
Cassandra为了躲避GC,特地用JNI搞了offheap objects,malloc也换成jemalloc,这
不就是Cpp么?
JVM GC效率也是问题,G1比CMS慢好多,Shenandoah比G1更慢。。。
关于20%问题,对于软件工程师可能不算什么,对于硬件CPU,10%以上就可以决定跑分
输赢。

发帖数: 1
45
自动GC的问题就是为了增加可预测性,牺牲性能,参考G1GC。
我一直想不通,需要可预测性的程序为什么不直接上Cpp?毕竟FG和微软腾讯百度华为
都这么做了
只有亚麻和阿里是奇葩。
s********k
发帖数: 6180
46
这些大公司里面,CPP,java,golang都用的(当然软软加上C#),CPP是好,但是真是
顶级人才满足不了人民群众日益增长需求,要精通太难了。
做大规模项目
human is always the least scalable in your system
s********k
发帖数: 6180

发帖数: 1
48
謝謝,我也找到這些了,但他們都是非標準、野生的SO_REUSEPORT庫,我本身也不是搞
golang的,只能報告裡面寫,目前標準golang不支持,未來1.11有可能支持了
w**z
发帖数: 8232
49
绝大部分的应用对实时性的要求是可以容忍 偶尔 long gc。 一般互联网公司 SLA 99.
99% 在 large distributed system 里,别说 long paused GC, 整个机器不见了的事
情时刻在发生。客户端容错做好就行了,一个 request timeout, 下一个 request 就
去别的node

:自动GC的问题就是为了增加可预测性,牺牲性能,参考G1GC。
:我一直想不通,需要可预测性的程序为什么不直接上Cpp?毕竟FG和微软腾讯百度华为

发帖数: 1
50
其實不是這樣的,這個問題叫long tail latency problem,困擾我們很久了,因為越
大的雞群,層數多,服務複雜,這1%的tail latency將會被放大很多倍,這個blog有討
論:http://accelazh.github.io/storage/Tail-Latency-Study
百度GO-BFE應用也討論過這個問題,他們的結論居然跟我昨天上面寫得一樣:
1。關閉GOGC,優化tail latency。
2。目前沒有辦法解決大量goroutine的併發問題,只能拚機器,靠GO研發4倍于C非阻塞
事件編程的效率,來彌補goroutine性能問題。
結論是GO可以被使用,但需要優化。
https://youtu.be/n9FkJkMdzL4

99.
华为
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)