gearman mysql_gearman mysql持久化
gearman 创建Mysql持久化队列的方式如下:
1. 登入mysql命令行,运行:
create database gearman;
2. 启动gearman,命令如下:
/usr/local/gearman/sbin/gearmand -p 4730 -L 0.0.0.0 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -q MySQL --mysql-host=localhost --mysql-user=root --mysql-db=gearman --verbose DEBUG-d
具体的参数,根据自己的服务器状况去修改就行了。
3. 再次登入mysql命令行,执行:
use gearman;show tables;
就可以看到下面多了个“gearman_queue”的表。
这样,gearman就变成了持久化的方式。
=============================================================================
gearman用mysql持久化之后,其实会带来一些问题。
1. 每个任务都会写入数据库,这样会带来磁盘IO的损耗,并且gearman的性能瓶颈又多了一个可能,就是由数据库引起的性能问题。
2. mysql有个“wait_timeout”的参数,在mysql命令行中运行
show variables like "%timeout%";
可以看到wait_timeout的值,默认是28800。也就是说,如果一个mysql的连接,超过28800s没有任何响应,就会断开。
3. gearman持久化的方式,如果超过了mysql的wait_timeouts的时间没有任何响应,和数据库的连接就会被mysql断开,而且gearman目前是没有mysql重新连接的,结果就是,会导致如下错误,必须重启gearman才能重新正常工作。
gearman报错
ERROR 2014-04-01 02:10:02.897899 [ proc ] mysql_stmt_execute failed: -> libgearman-server/plugins/queue/mysql/queue.cc:357
ERROR 2014-04-01 02:10:02.897910 [ proc ] gearman_server_job_add gearman_server_run_command(QUEUE_ERROR) -> libgearman-server/server.cc:301
所以,gearman持久化方式带来的缺点显而易见,该方式下,要避免gearman对mysql连接超时断开,可以将mysql的wait_timeout参数改大。
或者,直接放弃用mysql的持久化方式。
gearman mysql_gearman mysql持久化相关推荐
- gearman mysql_gearman的持久化,以mysql的方式
1.为什么要持久化? gearman的job server中的工作队列存储在内存中,一旦服务器有未处理的任务时重启或者宕机,那么这些任务就会丢失. 持久化存储队列可以允许添加后台任务,并将其存储在外部 ...
- gearman mysql_gearman + mysql方式实现持久化操作示例
gearman + mysql方式实现持久化操作示例 发布时间:2020-09-04 03:20:08 来源:脚本之家 阅读:90 作者:怀素真 本文实例讲述了gearman+mysql方式实现持久化 ...
- gearman mysql_gearman+mysql实现持久化队列
持久化队列是在0.6版本中新添的一项功能,允许将队列存放在drizzle或mysql中. 0.7版本允许将队列存放在memcached. 0.9版本可以将队列存放在sqlite3或postgresql ...
- gearman mysql_gearman mysql udf
gearman安装 apt-get install gearman gearman-server libgearman-dev 配置bindip /etc/defalut/gearman-job-se ...
- gearman mysql持久化_gearman + mysql方式实现持久化操作示例
本文实例讲述了gearman+mysql方式实现持久化操作.分享给大家供大家参考,具体如下: 1.为什么要持久化? gearman的job server中的工作队列存储在内存中,一旦服务器有未处理的任 ...
- 2.Spring Cloud Alibaba教程:Linux安装Nacos1.3.1以及配置MySQL持久化
概述 官网给了几种方式,这边采用直接解压运行,这个最简单. 下载 打开下载地址:https://github.com/alibaba/nacos/releases,官方推荐的1.3.1,所以我们就选择 ...
- Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
目录 1, 环境 2, Redis简介 3, Gearman简介 4, MySQL - Redis配合使用方案 4, 软件安装 5, MySQL UDF + Trigger同步数据到Gearman 6 ...
- 通过Gearman实现MySQL到Redis的数据复制
通过Gearman实现MySQL到Redis的数据复制 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. 对于变化频率非常快的数据来说,如 ...
- PHP的MySQL持久化连接
2019独角兽企业重金招聘Python工程师标准>>> PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之.这到底是为啥么.近距离观察后发现,这家伙也不容易 ...
最新文章
- 一位IT從業人員的心路歷程
- 贪便宜买了减价香蕉之后
- C++实现选择排序(附完整源码)
- URAL 1036 Lucky Tickets
- BitArray虽好,但请不要滥用,又一次线上内存暴增排查
- 无迹卡尔曼滤波器(UKF)
- 远程桌面提示RPC不可用
- linux su命令位置,Linux命令大全su详解
- 当他不再爱你的时候(男女生一定要看)
- 支持向量机原理(三)线性不可分支持向量机与核函数
- 简述RPL, DPL, CPL的区别与联系
- DirectX 9的安装与配置
- 新浪云SAE共享型数据库MySQL使用经验
- nxp的bluetooth驱动调试
- JavaScript的简单认识
- html后代选择器的语法,后代选择器 | Descendant selectors
- 在Linux安装Kafka监控系统EFAK
- 手把手教你自制U盘重装win10系统专业版(纯净版)+激活【图文教程】
- php 快速导出百万级数据到 csv 或者 excel 文件
- 声明一个Tree(树)类,有成员ages(树龄),成员函数grow(int years)用以对ages 加上years,showage( )用以显示tree对象的ages值。在主函数中定义Tree类对