Comments (8)
gaea的配置、压测的表结构能提供下吗?看起来是参数个数与参数类型不匹配导致的,我们在本地复现一下试试
from gaea.
create database sbtest;
CREATE TABLE `sbtest1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`k` int(11) NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `k_1` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=latin1;
或者用这个命令生成表
sysbench /usr/local/Cellar/sysbench/1.0.16/share/sysbench/oltp_read_only.lua \
--mysql-host=10.2.0.107 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=123456 \
--threads=10 \
--time=120 \
--report-interval=10 \
prepare
namespace的配置
{
"name": "mytest1",
"online": true,
"read_only": true,
"allowed_dbs": {
"sbtest": true
},
"slow_sql_time": "1",
"black_sql": [
],
"allowed_ip": null,
"slices": [
{
"name": "slice-0",
"user_name":"root",
"password":"123456",
"master":"10.2.0.107:3307",
"slaves":null,
"statistic_slaves": null,
"capacity": 50,
"max_capacity": 100,
"idle_timeout": 60
}
],
"shard_rules": null,
"users": [
{
"user_name": "test_mytest11_write_user",
"password": "test_mytest11_write_pwd",
"namespace": "mytest1",
"rw_flag": 2,
"rw_split": 1,
"other_property": 0
},
{
"user_name": "test_mytest12_read_user",
"password": "test_mytest12_read_pwd",
"namespace": "mytest1",
"rw_flag": 1,
"rw_split": 1,
"other_property": 0
},
{
"user_name": "root",
"password": "123456",
"namespace": "mytest1",
"rw_flag": 2,
"rw_split": 1,
"other_property": 0
}
],
"default_slice": "slice-0",
"global_sequences": null
}
from gaea.
我昨晚抓包看来压测后续数据有的缺失了两个字节的类型数据,我先排查一下,正常请求应该是没问题的,你也可以验证下,如果单纯想看性能建议可以压测非prepare的。
from gaea.
好的,非常感谢
from gaea.
压测后,目前Gaea不报错了,但是system会报错
sysbench /usr/local/Cellar/sysbench/1.0.16/share/sysbench/oltp_read_only.lua \
--mysql-host=10.2.0.107 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=123456 \
--threads=10 \
--time=120 \
--report-interval=10 \
run
sysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 10
Report intermediate results every 10 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
(last message repeated 1 times)
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
(last message repeated 1 times)
FATAL: mysql_stmt_execute() returned error 0 () for query 'SELECT c FROM sbtest1 WHERE id BETWEEN ? AND ?'
FATAL: `thread_run' function failed: ...al/Cellar/sysbench/1.0.16/share/sysbench/oltp_common.lua:432: SQL error, errno = 0, state = '00000':
from gaea.
@makediff 我们也在排查这个问题,抓包来看执行结果跟直连mysql相同,但是不知道为什么压测脚本认为0,00000为错误直接退出了。
from gaea.
这个解决了?我也遇到了同样的问题
from gaea.
这个是proxy没有完全兼容mysql协议, 而sysbench恰好用了这个特性.
2023年了, sysbench 没有发新版, 目前1.0.20还会有这个问题.
master 分支已经修复了这个问题, 怀疑 akopytov/sysbench@ead2689 2021.3.26这个commit “修复"的.
from gaea.
Related Issues (20)
- 使用java 8.0版本的driver连接gaea,后端mysql版本低于5.7.20时,报Unknown system variable 'transaction_isolation'
- 考虑使用 podman 进行单元测试 (consider using Podman for unit test.) HOT 3
- 分片和非分片均不支持 with rollup 语句
- 分库分表场景下,不支持跨分片insert,支持跨分片update和delete,这样是否合理?辛苦指导
- prepare类型语句出错 HOT 3
- set设置自定义变量,select返回结果为null HOT 3
- HASH模式的分表,扩容的时候必须要迁移数据库才可以吗 HOT 2
- gaea-agent在SQL端运行的代码在哪里呢?
- 执行批量更新时,Gaea代理会将SQL在结尾处添加个逗号,从而导致mysql底层执行失败。 HOT 1
- grafana数据部分数据为空,是参数填写错了吗 HOT 1
- Gaea web现在开源了吗? HOT 1
- prepare,exec方式代理导致decimal精度丢失
- gaea连接etcd,当第一个节点异常时,无法连接配置的其他节点
- geea1.2.2版本,mybatisplus执行批量更新报错
- 普通表怎么去left join分表表
- 此项目还在维护吗? HOT 1
- 支持 Create Function/Create Procedure HOT 1
- 为什么定义的xlog接口要返回error?
- 使用代理后怎么获取sql执行进程id HOT 1
- 升级gaea版本后报错commands out of sync HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gaea.