Mysql数据库的压力

  • rationalError: (2006, ‘MySQL server has gone away‘)

2017年10月10日 20:04:43

阅读数:377

问题描述

使用django+celery时, 运行长时间的任务, 一开始操作一次数据库, 20个小时后再次操作数据库.

过了20多个小时, 再次操作数据库时报错.

raised unexpected: OperationalError(2006, ‘MySQL server has gone away‘)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 374, in get
    num = len(clone)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 232, in __len__
    self._fetch_all()
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 1118, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 894, in execute_sql
    raise original_exception
OperationalError: (2006, ‘MySQL server has gone away‘)

原因

连接超时

我出现问题就是这个原因. 
进入mysql,执行下面的命令:

mysql> show global variables like ‘%timeout‘;

+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| delayed_insert_timeout     | 300      |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 28800    |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| slave_net_timeout          | 3600     |
| wait_timeout               | 28800    |
+----------------------------+----------+

wait_timeout 是28800秒,即mysql链接在无操作28800秒后被自动关闭

解决方法

立即生效

执行下面的sql命令

mysql> set global wait_timeout=60*60*30;
  • 1

该命令是将wait_timeout设置为30小时. 
用这种方法,修改完立即生效. 如果重启mysql, 又恢复原来的28800秒.

永久生效

该方法修改完之后, 需要重启mysql才能生效. 
编辑mysql配置文件my.cnf,添加或修改为下面这条命令. 
(我的mysql配置文件路径: /etc/mysql/my.cnf )

wait_timeout = 108000
  • 1

其他原因

还有一些其他原因, 简单描述一下 
1: mysql服务关闭 
2: 数据包 过大 
解决方法: 修改 max_allowed_packet 的值, 方法同上.

版权声明:文为昔日之积累,常忘食废寝而得,望友传之时注以源。 https://blog.csdn.net/win_turn/article/details/78196789

文章标签: mysqldjangoceleryoperationagone-away

个人分类: djangomysql

宿迁90后小伙在家无聊玩微信,存款惊呆父母!鑫迪科技 · 顶新

想对作者说点什么? 我来说一句

mysql导入数据错误“ERROR 2006 (HY000): MySQL server has gone away”

mysql导入数据错误“ERROR 2006 (HY000): MySQL server has gone away”和mysql导入导出命令...

 ron03129596

2016-12-11 13:34:14

阅读数:3254

MySQL server has gone away 问题的解决方法

MySQL server has gone away 问题的解决方法 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2010-06-05 我要评论 MySQL ser...

 boshuzhang

2017-06-22 14:15:15

阅读数:11980

从前端到后台,开发一个完整功能的小程序

微信开发 | wanghui_777

mysql导入大批量数据出现MySQL server has gone away的解决方法

本文提供mysql导入大批量数据出现MySQL server has gone away的解决方法,及问题分析。...

 fdipzone

2016-07-20 23:11:11

阅读数:142419

MYSQL Error 2006:MySQL server has gone away的解决方案

MySQL server has gone away有几种情况。1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。    最常见的就是采集或者新旧数据转化。    解决方案:     在my...

 phphot

2008-08-19 16:36:00

阅读数:8666

ERROR 2006 (HY000): MySQL server has gone away

1.版本 1)操作系统  cat /etc/issue Red Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel \r on an ...

 shaochenshuo

2015-11-24 20:09:20

阅读数:1694

Yii 数据库重连告别General error: 2006 MySQL server has gone away

General error: 2006 MySQL server has gone away Yii wait_timeout 制造错误 解决办法 错误原因Mysql has gone away my...

 u011042188

2016-10-21 16:24:55

阅读数:3297

新出的微赚钱方式,网友:白玩这么多年手机了万达广场投资 · 顶新

ERROR 2006 (HY000) at line xx: MySQL server has gone away

1.执行批量的MYSQL语句,例如备份恢复的时候,时间过长。  对应:修改my.cnf中的wait_timeout和interactive_timeout变量  在一些不便修改的情形下,如租用的空...

 haoyuxuan

2015-04-29 09:48:39

阅读数:365

关于"[MYSQL ERROR(2006):MySQL server has gone away]"的解决方法

产生这个错误一般是由于两个方面的原因,一个是由于向mysql server发送的数据包大小超过了参数max_allowed_packet设置的大小,这个可以通过减小数据包或加大max_allowed_...

 xtjsxtj

2013-11-13 11:19:13

阅读数:1589

MySQL ERROR 2006 (HY000): MySQL server has gone away

1.版本1)操作系统 cat /etc/issueRed Hat Enterprise Linux Server release 5.5 (Tikanga)Kernel \r on an \m cat...

 u011666411

2018-04-25 16:50:06

阅读数:30

MySQL错误 ERROR 2006 (HY000): MySQL server has gone away

MySQL下当我导入一个比较大的SQL文件时出现了ERROR 2006 (HY000): MySQL server has gone away错误,具体情况如下: > ll *.sql -rwxr...

 selifecn

2017-06-15 19:20:09

阅读数:258

MySQL 出现 2006 - MySQL server has gone away 问题的解决方法

导入大文件的 SQL 语句(大约 100 多 M)时,会提示 “2006 - MySQL server has gone away” 的错误。 1 分析 原来 MySQL 对于所接收的数据包是有一...

 deniro_li

2018-02-06 21:55:48

阅读数:141

amoeba连接mysql--ERROR 2006 (HY000): MySQL server has gone away

amoeba下载地址:http://sourceforge.net/projects/amoeba/files amoeba version:amoeba-mysql-binary-2.1.0-RC...

 lwei_998

2012-03-05 17:55:21

阅读数:8301

python 操作数据库 OperationalError: (2006, ‘MySQL server has gone away‘) 解决方法

用python连接mysql数据库时有时会提示OperationalError: (2006, ‘MySQL server has gone away‘)的错误,其原因主要是python与数据库的连接...

 whw1874

2013-09-02 19:16:34

阅读数:9913

[django1.6]跑批任务错误(2006, ‘MySQL server has gone away‘)

有个django的定时任务,调用django的orm来对数据库进行数据处理。  在交互环境下直接启动pyhton脚本没有问题,放在定时任务中时候,总是出现 (2006, ‘MySQL server h...

 lzz957748332

2014-11-25 13:45:02

阅读数:5734

pymysql.err.operationalerror: (2006, "MySQL server has gone away (ConnectionResetError(10054, ‘远程主机强

错误:pymysql.err.operationalerror: (2006, "MySQL server has gone away (ConnectionResetError(10054...

 u013764485

2018-05-11 09:29:42

阅读数:143

_mysql_exceptions.OperationalError: **(2002, "Can‘t connect to local MySQL server through socket ‘/v

在linux下安装django的时候,python manage.py syncdb 报错, Validating models... Unhandled exception in threa...

 quanliyadan

2013-09-12 17:14:39

阅读数:3913

Django1.6报错 2006 mysql server has gone away解决方法

最近在开发一个django项目,后面需要从mysql数据库中获取大量数据,使用django自带的模板系统真是方便,同时操作简化了很多,但是由于数据量太大,导致每次获取数据都慢的要死,后来想了个办法,做...

 guowei11264

2015-04-09 14:31:52

阅读数:282

django操作mysql时django.db.utils.OperationalError: (2003, "Can‘t connect to MySQL server")错误的解决办法

错误描述 django.db.utils.OperationalError: (2003, "Can‘t connect to MySQL server on ‘localhost‘ (10061)"...

 xxm524

2015-08-08 17:29:23

阅读数:9242

django疑难杂症

1.这个问题折磨我很久了(用models中定义的class访问其他业务创建的没有主键的table都有这问题) def testRawSql(uid): from boosencms.sina...

 xiarendeniao

2012-05-26 15:18:58

阅读数:7801

mysql出现ERROR : 2006, ‘MySQL server has gone away‘

使用Navicat运行SQL文件导入数据库时出现“ MySQL server has gone away”。 原因:SQL语句过大或者语句中含有BLOB或者longblob字段,超出了默认允许最大的...

 shiyong1949

2015-07-27 15:36:52

阅读数:2150

个人资料

win_turn

关注

原创
98
粉丝
80
喜欢
165
评论
56
等级:

访问:

61万+
积分:

4493
排名:

8794

勋章:

归档

展开

热门文章

最新评论

联系我们

请扫描二维码联系客服

[email protected]

400-660-0108

QQ客服 客服论坛

关于招聘广告服务 网站地图

?2018 CSDN版权所有 京ICP证09002463号

百度提供支持

经营性网站备案信息

网络110报警服务

中国互联网举报中心

北京互联网违法和不良信息举报中心

登录

注册

关闭

原文地址:https://www.cnblogs.com/leigepython/p/9269702.html

时间: 2024-10-09 04:10:32

Mysql数据库的压力的相关文章

MySQL数据库基准压力测试工具之MySQLSlap使用实例

一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直观的验证依据,笔者建议系统运维人员应该掌握一些常见的压力测试工具,这样才能较为准确的掌握线上系统能够支撑的用户

[转]MySQL数据库基准压力测试工具之MySQLSlap使用实例

原文链接:http://www.2cto.com/database/201303/195303.html 一.Mysqlslap介绍 mysqlslap 是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发 的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直

mysqlslap 一个MySQL数据库压力测试工具

在Xen/KVM虚拟化中,一般来说CPU.内存.网络I/O的虚拟化效率都非常高了,而磁盘I/O虚拟化效率较低,从而磁盘可能会是瓶颈.一般来说,数据库对磁盘I/O要求比较高的应用,可以衡量一下在客户机中运行MySQL.Oracle等数据库服务的性能(不过我知道也有在客户机中运行数据库服务器,效率也还可接受).本文不介绍MySQL在虚拟机中的性能表现情况(也许今后会考虑),而是介绍一个MySQL数据库的压力测试工具--msqlslap. mysqlslap是从MySQL的5.1.4版开始就开始官方提

mysql之 mysql数据库压力测试工具(mysqlslap)

mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具.通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个存储引擎(MyISAM,InnoDB等)在相同环境下的相同并发压力下的性能差别. mysqlslap官方文档: https://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html Table 4.14 mysqlslap Options Format Desc

(转)用mysql自带工具mysqlslap对数据库进行压力测试

http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试 mysqlslap是mysql自带的工具,不需要单独安装: 参数: -concurrency 代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是10.50.100个并发. --engines 代表要测试的引擎,可以有多个,用分隔符隔开. --iterations 代表要运行这些测试多少次

MySQL通过添加索引解决线上数据库服务器压力大问题

昨天线上应用反馈晚上 19:30-19:43以及 20:13到20:21两个时间段所有人包括我们自己建的教室都进不去, classroom B套无法登陆,主页无法访问,已有超过10个老师和学生反馈进不去教室的问题 通过监控查看出现问题时数据库服务器的cpu使用率,负载,io,内存使用,swap剩余量等状况,发现数据库当时压力特别大, 数据库连接数: 数据库慢查询也出现很多 查看慢查询日志,发现一个SQL在慢查询日志中频繁出现切执行时间较长 # [email protected]: cms[cms

mysql数据库调优

最近新到项目上,算是帮忙,遇见性能测试. 测试要求其实不高,现在是单mysql数据库,未分表,四千万数据,四百毫秒,上的压力是一千一百多tps,但是,动态的只占到了百分之二十左右,也就是两百左右的tps吧.服务器还是比较牛逼的,我看到了十几个cpu线程,估计超过一百G内存吧. 大体情况如上. 鄙人之前没优化过mysql,其实,是没调优过sql,只读过部分sql执行的原理,数据库的结构啥的,平常写sql和设计表的时候有些注意,实战调优经验为零,以前就算调了,没测试过,也白搭,这次算是逮到便宜了.

运维角度浅谈:MySQL数据库优化

日志君导读: 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 作者:zhenliang8,本文转自51CTO博客,点击原文阅读查看网页版文章. 本博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验.影响的因素很

开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实很高大上,但是据说费用也不便宜且体积也不小,而目前最高版本的开源免费压力测试工具JMeter3.2压缩包体积才不到53M,而且对于开发人员而非专业测试人员来说,JMeter提供的测试功能已经够强大了.要完整地介绍JMeter,即使把JMeter自带的文档翻译成中文就是一本厚厚的书了.但是在本篇只讲述如