one-api 令牌验证失败

wtlkbnrh  于 2个月前  发布在  其他
关注(0)|答案(8)|浏览(36)

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述

额度充足,请求频率在20qps左右,有一定比例报错“令牌验证失败”

相关截图

返回结果里,报错

yvgpqqbh

yvgpqqbh1#

请提供相关日志,以便查找错误。请求前 CacheGetTokenByKey failed 的日志。

mznpcxlj

mznpcxlj2#

mysql 链接数上限了

chy5wohz

chy5wohz3#

我的也是提示额度用尽了,怎么解决?

epggiuax

epggiuax4#

$x_1a^0b^1^x$

我也提示了。从5.10升级到6.2

用的是SQLite

vd2z7a6w

vd2z7a6w5#

sqlite并发太差,建议MySQL

w46czmvw

w46czmvw6#

使用MySQL,关闭了日志功能,并设置了10分钟计算额度的环境变量,仍然会报错。

0g0grzrc

0g0grzrc7#

同上,请问这个怎么解决?跑一点提示令牌验证失败:

这是后台日志:

| 2024/04/05 22:27:18 /build/model/user.go:392 SLOW SQL >= 200ms
one-api        | [2430.527ms] [rows:1] SELECT `username` FROM `users` WHERE id = 1
one-api        | [SYS] 2024/04/05 - 22:27:18 | CacheGetTokenByKey failed: database is locked
one-api        | [ERR] 2024/04/05 - 22:27:18 | 2024040522271528914005628997171 | 令牌验证失败
one-api        |
one-api        | 2024/04/05 22:27:18 /build/model/cache.go:34 database is locked
one-api        | [3003.265ms] [rows:0] SELECT * FROM `tokens` WHERE `key` = "TOdM4nYhI6kvbZ5P51EcF16cCbBf49B4Bc6bEd1f55F68429" ORDER BY `tokens`.`id` LIMIT 1
one-api        | [GIN] 2024/04/05 - 22:27:18 | 2024040522271528914005628997171 | 401 |  3.003467193s |   172.23.148.83 |    POST /v1/chat/completions

以及 docker 配置文件(没有用 MySQL )

version: '3.4'

services:
  one-api:
    image: justsong/one-api:latest
    container_name: one-api
  ...
    depends_on:
      - redis
      - db

  redis:
    image: redis:latest
    container_name: redis-one-api
    restart: always

  db:
    image: mysql:8.2.0
...
hgtggwj0

hgtggwj08#

当前并发量尚不算高,为8个并发数,重试3次。手动指定了渠道,部分时刻会抛出其他错误:

Request Failed(1):令牌验证失败 (request id: 2024040523024380514227068513478)t/s]
Request Failed(1):令牌验证失败 (request id: 2024040523024466107860960056915)
Request Failed(1):令牌验证失败 (request id: 2024040523024436408812505164584)
Request Failed(1):普通用户不支持指定渠道 (request id: 2024040523024326288005160994610)

后续尝试使用MySQL查看是否还会出现错误。

相关问题