asleepyfish / chatgpt

实现可连续对话和流式输出的ChatGPT API(基于SpringBoot和Vue实现流式输出)
https://blog.csdn.net/qq_41821963/article/details/128992539
MIT License
244 stars 67 forks source link

OkHttpClient 默认并发数问题 #22

Closed lcky666 closed 1 year ago

lcky666 commented 1 year ago

OpenAiProxyService类中使用defaultClient方法初始化OKHttpClient,Builder时没有指定dispatcher,自动使用默认构造器 此行为限制了最大只能有64个请求且每个host最多5个请求 实际压测时发现接口大量超时,起初怀疑是目标代理带宽/并发等问题,最后调查代理端一切正常,翻调用源码发现此问题 OpenAiProxyService方法没有提供客制化Client的构造方法,目前依然只能通过重写源码的方式解决

另外在压测时发现,如果目标地址返回null,数据也会被写入本地cache,但再次读取时会报空指针异常。

asleepyfish commented 1 year ago

OpenAiProxyService类中使用defaultClient方法初始化OKHttpClient,Builder时没有指定dispatcher,自动使用默认构造器 此行为限制了最大只能有64个请求且每个host最多5个请求 实际压测时发现接口大量超时,起初怀疑是目标代理带宽/并发等问题,最后调查代理端一切正常,翻调用源码发现此问题 OpenAiProxyService方法没有提供客制化Client的构造方法,目前依然只能通过重写源码的方式解决

另外在压测时发现,如果目标地址返回null,数据也会被写入本地cache,但再次读取时会报空指针异常。

client的问题有空可以更新一波,返回null的具体的操作流程是怎么样的,指的是返回的结果是null么,可以附上图片嘛

asleepyfish commented 1 year ago

OpenAiProxyService类中使用defaultClient方法初始化OKHttpClient,Builder时没有指定dispatcher,自动使用默认构造器 此行为限制了最大只能有64个请求且每个host最多5个请求 实际压测时发现接口大量超时,起初怀疑是目标代理带宽/并发等问题,最后调查代理端一切正常,翻调用源码发现此问题 OpenAiProxyService方法没有提供客制化Client的构造方法,目前依然只能通过重写源码的方式解决

另外在压测时发现,如果目标地址返回null,数据也会被写入本地cache,但再次读取时会报空指针异常。

自定义client,1.3.3版本已解决~