V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  douyacun  ›  全部回复第 1 页 / 共 2 页
回复总数  39
1  2  
2022-03-13 23:49:00 +08:00
回复了 BeijingBaby 创建的主题 奇思妙想 一个创作者小额收款平台
300 元注册个体工商户,300 元开通微信支付
2022-03-13 23:47:33 +08:00
回复了 wheelg 创建的主题 分享创造 闲的无聊,写了一个 P2P 聊天网站
之前学习了 webrtc 传文件,https://www.douyacun.com/p2p/send

4G/5g 网络就穿透不了,感觉用途受限。
2021-06-22 15:55:41 +08:00
回复了 douyacun 创建的主题 程序员 PDF 去水印
鼓励大家买正版书
2021-06-22 11:16:22 +08:00
回复了 douyacun 创建的主题 程序员 PDF 去水印
关注微信公众号反感的就不要进了

淘宝搜一下 PDF 去回印 5 元一个文件,统计一下发现有人一天用了几十次
2021-05-21 10:13:53 +08:00
回复了 douyacun 创建的主题 分享创造 开放一个免费 IP 定位 (GEO IP) 接口
@SimonOne 支持 Authorize Bearer {{token}}, 不过用的人不多,不如直接传参方便
2021-05-20 18:46:58 +08:00
回复了 xiaoming1992 创建的主题 职场话题 试用期工资竟然可以随便给,只要高于 80%?
@johnsona 如果我有 100k 的能力,少一分我都不去
2021-05-20 17:51:16 +08:00
回复了 douyacun 创建的主题 分享创造 开放一个免费 IP 定位 (GEO IP) 接口
@yuanxing008 感谢提醒,昨天测试天气 API 的时候把 IP 定位的去掉了,都是开放的
2021-05-20 15:22:54 +08:00
回复了 douyacun 创建的主题 分享创造 开放一个免费 IP 定位 (GEO IP) 接口
@yanzhiling2001 只要我还写的动代码,就能一直稳定运行
2021-05-20 14:58:25 +08:00
回复了 douyacun 创建的主题 分享创造 开放一个免费 IP 定位 (GEO IP) 接口
@XIU2 ip2location & ipip
@wipbssldo 风向数据有,气象图没有
@kyrkwode 可以啊,只不过只能用一个月
2021-04-02 23:14:42 +08:00
回复了 douyacun 创建的主题 Go 编程语言 go time/rate 实现 接口 - IP/账户 限流
@p0h5 可以,我整理一下发 github,回头这个帖子下追更
2021-04-01 11:39:54 +08:00
回复了 douyacun 创建的主题 Go 编程语言 go time/rate 实现 接口 - IP/账户 限流
@Carseason 感激啊,我这也是憋了好几天才实现
2021-03-12 10:22:49 +08:00
回复了 douyacun 创建的主题 分享发现 批量 pdf 转 word,需要的可以收藏
@NillSpake 嗯嗯,正在搞
2021-03-11 14:55:21 +08:00
回复了 douyacun 创建的主题 分享发现 批量 pdf 转 word,需要的可以收藏
@pengyOne 看到了,后端限制大小了,我改一下。
@ihipop @caola websocket 和 http 是占用同一端口的( 80 | 443 ),linux kernel 3.9 引入的 SO_REUSEPORT 的选项,允许多个进程分享同一地址同一端口的 TCP 连接
> wss 统计在线人数,代价还是很低的,一般只是端口不够用
这个说法是错误的,我测试的 端口不够用 是因为客户端会占用本地端口,不是服务端的占用端口~
@zxlzy 自己的站点,当然随意玩耍了,主要是有 wss 使用的场景,如何防护一下
@krixaar 这几个问题也是这个帖子发布的目的,也是想看看大家是怎么玩的,有什么好的思路,之前有个安卓的同学就这么搞过我~,吐血的经历
@airyland 刚才本子打开也恶心到我自己了,都是在外接显示上开发的
@ferock wss 统计在线人数,代价还是很低的,一般只是端口不够用

我之前的测试,库使用 gorilla/websocket 1 万个连接测试

占用 147.93MB RAM, 平均连接每个占用 15kb 测试代码见:[github gwebsocket]( https://github.com/douyacun/gwebsocket/blob/master/v3_ws_ulimit/wsserver.go)

```shell
(pprof) top
Showing nodes accounting for 137.93MB, 93.24% of 147.93MB total
Dropped 6 nodes (cum <= 0.74MB)
Showing top 10 nodes out of 51
flat flat% sum% cum cum%
73.79MB 49.88% 49.88% 73.79MB 49.88% bufio.NewWriterSize
34.63MB 23.41% 73.29% 34.63MB 23.41% bufio.NewReaderSize
11MB 7.44% 80.73% 11MB 7.44% runtime.malg
4MB 2.70% 83.44% 5.50MB 3.72% net/textproto.(*Reader).ReadMIMEHeader
3MB 2.03% 85.46% 3.50MB 2.37% github.com/gorilla/websocket.newConn
3MB 2.03% 87.49% 10.50MB 7.10% net/http.readRequest
2.50MB 1.69% 89.18% 16.50MB 11.16% net/http.(*conn).readRequest
2.50MB 1.69% 90.87% 3.50MB 2.37% context.propagateCancel
2MB 1.35% 92.23% 2MB 1.35% syscall.anyToSockaddr
1.50MB 1.01% 93.24% 1.50MB 1.01% net.newFD
(pprof) web
failed to execute dot. Is Graphviz installed? Error: exec: "dot": executable file not found in $PATH
(pprof) list flat
Total: 147.93MB
```
goroutine 是 10003,每个 goroutine 占用 4kb 的内存

```shell
(pprof) top
Showing nodes accounting for 10001, 100% of 10003 total
Dropped 24 nodes (cum <= 50)
Showing top 10 nodes out of 19
flat flat% sum% cum cum%
10001 100% 100% 10001 100% runtime.gopark
0 0% 100% 9998 100% bufio.(*Reader).Peek
0 0% 100% 9998 100% bufio.(*Reader).fill
0 0% 100% 9999 100% github.com/gorilla/websocket.(*Conn).NextReader
0 0% 100% 9999 100% github.com/gorilla/websocket.(*Conn).ReadMessage
0 0% 100% 9999 100% github.com/gorilla/websocket.(*Conn).advanceFrame
0 0% 100% 9998 100% github.com/gorilla/websocket.(*Conn).read
0 0% 100% 9999 100% internal/poll.(*FD).Read
0 0% 100% 10001 100% internal/poll.(*pollDesc).wait
0 0% 100% 10001 100% internal/poll.(*pollDesc).waitRead (inline)
(pprof) list flat
Total: 10003
(pprof)
```
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2745 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 08:14 · PVG 16:14 · LAX 00:14 · JFK 03:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.