yy4382 / read-aloud

运行于 Cloudflare Workers 上的微软“大声朗读”转发器。通过简单的 HTTP GET 请求,将文本转换为语音。
https://ra.yfi.moe
18 stars 18 forks source link

Cloudflare CPU 时间 #2

Open yy4382 opened 22 hours ago

yy4382 commented 22 hours ago

https://github.com/yy4382/read-aloud/issues/1#issuecomment-2507445424

Cloudflare Worker CPU 时间超限问题,可能超过 Cloudflare Workers 的10ms限额

@DomKing 可以截张这个界面的图吗

CleanShot_2024-12-02_14 22 12

yy4382 commented 20 hours ago

目前来看我觉得实在没有什么可以优化的地方了,(至少从我自己 Profiling的结果来看)大部分的开销都来自 WebSocket 内部实现读取音频二进制数据。

由于 Cloudflare 是按每次请求计算 CPU 时间的,可以尝试降低每次请求合成的字符数(爱阅记和爱阅书香可以配置,其他应用不清楚)。在我的测试中,如果每次合成100字,在默认音质下中位数5ms,99% 10ms。使用比较差的音质应该也有帮助,但还没测试。

yy4382 commented 20 hours ago

测试结果:100字,音质 audio-24khz-48kbitrate-mono-mp3,在一个只有我在用的实例上

image
yy4382 commented 19 hours ago

@DomKing 能问下你用的哪个阅读器吗?大概每次合成会合成多少字?

因为我部署的实例还从来没有出现过 CPU 时间超限的问题,它应该主要是爱阅书香用户在用,每次最大合成200字

DomKing commented 18 hours ago

#1 (comment)

Cloudflare Worker CPU 时间超限问题,可能超过 Cloudflare Workers 的10ms限额

@DomKing 可以截张这个界面的图吗

CleanShot_2024-12-02_14 22 12

我用的爱阅记,合成200字。根据日志看,也是在处理ws返回的音频过程中超时。 你的截图显示有5个错误请求,你可以点开看下,应该也是超出cpu time.

image
yy4382 commented 16 hours ago

#1 (comment) Cloudflare Worker CPU 时间超限问题,可能超过 Cloudflare Workers 的10ms限额 @DomKing 可以截张这个界面的图吗 CleanShot_2024-12-02_14 22 12

我用的爱阅记,合成200字。根据日志看,也是在处理ws返回的音频过程中超时。 你的截图显示有5个错误请求,你可以点开看下,应该也是超出cpu time.

image

我的自从三天前那次优化之后就再也没出过 CPU limit 类型的错误了,你试试把字数设成 150 或者 100,看看有没有改善