小工具      在线工具  汉语词典  css  js  c++  java

Linux服务镜像传输速度慢,数据库服务器CPU居高不下。

java,java,数据库,数据库服务器,图片,cpu 额外说明

收录于:40天前

之前开发维护的一个系统是用来管理微信公众号的,但是变成了一个平台,即可以有多个公众号接入这个平台,平台提供公众号和粉丝互动的小工具。

背景

其中有一个交互工具,可以让用户在公众账号上生成个人名片(带有头像和二维码的图片)。用户将名片分享给好友扫描,好友关注公众号,均获得积分。积分达到一定等级后可以兑换奖品。这样的功能,如果有一些大厂商想用的话,短时间内就会爆炸。

情况一

某一天,一个国内知名品牌的华南分部使用我们这个平台,由于是大厂,推广很给力,一小段时间后,发现图片生成非常缓慢.
刚开始,我还以为是线程访问量大,想看一下gc的情况
这里写图片描述

如上图,情况良好,没啥特别.
我统计了下用户进入数(即扫码关注)
这里写图片描述
发现是这个级别.
我看了下服务,cpu 内存和系统自己的一些数据,都还算正常,不过我 直接访问 服务器,感觉都很卡,怀疑是带宽有点问题,因为业务中,有个 二维码图片,怀疑是这个图片 非常 频繁地 生成,传输,占用了很大的带宽,
这里写图片描述
用iftop查看了下带宽,发现果然如此。
于是解决方案就非常简单了,找领导 加带宽.

情况2

解决了带宽问题,这个世界清静了不少,但风雨总在阳光后.
过了不久,大厂的领导觉得,吸粉的效果还不错,趁快年底了,多搞点用户量出来!于是,又开始大搞了,比上次还要大量 。然后,瓶颈如约而至。
也是慢,不过症状不同,上次是图片生成慢,这次是所有请求都慢,流量没有达到最高,
jstack 看了下线程,也看不出所以然来(这一直不太知道jstack怎么分析问题,jmap的dump能分析些)

突然,我惊讶的发现mysql的cpu 达到了90%。这大概就是最大的原因吧!!于是就想着看看mysql的情况
查看了下连接数,select * from information_schema.PROCESSLIST where db = ‘xxxx’;
设置了慢查询相关参数。看了下慢查询,发现有一条SQL非常地慢,达到10S,发现这是和用户相关的表,由于,近来做活动,用户数据上升得很快。然后把查询条件的字段加上索引,立杆见影!!! mysql 的cpu瞬间将到个位数,…
问题解决!解决后的情况
这里写图片描述

这里写图片描述

情况三

后来,有一段时间服务变得无响应。我简单检查了一下服务器,发现硬盘不够了。 。 。 。

原来是生成的图片都放在服务器了,没有清除,图片如果要缓存,wechat 会存起来几天,所以服务器的是可以清除的。 清除掉即可。一步步清文件 了du -h –max-depth=1
(服务器是阿里云的,当时刚申请的时候,只当作简单的工具玩下,没考虑到大厂商会搞活动,只搞了40G的硬盘)

后记

虽然微信公众号的开发存在很多陷阱,但总体来说还是很有趣的。 tx平台提供了大量的API,开发的公众号具有强大的社交功能,非常具有想象力。事情。但对于普通企业/个人来说,花几万开发一个公众号是不太可行的,所以出现了各种依托微信的平台,比如商城、OA、CMS等。 。 。

不过公众号要开发完整的系统,用网页确实体验不好,或许也是微信小程序出现的其中一个比较大的原因吧,我在想微信小程序是不是也出现第三方平台了呢?
很好奇后续的发展!

上面提到的一些工具可查看http://blog.csdn.net/mingover/article/details/55106850

. . .

相关推荐

额外说明

记录http请求暂停、TCP ZeroWindow、连接未断开、setReadTimeout超时不抛异常等解析过程。

背景:本地有一台windows7系统的台式机,每天定时向服务器上传文件,后台是个http接口(为什么不用ftp呢,因为这个接口原来是一个html页面用form表单来实现的文件上传,改成ftp就需要改后台处理逻辑)。 问题:由于上传文件很大,最大有20MB

额外说明

强化学习从基础到进阶--案例与实践含面试必知必答[10]:模仿学习、行为克隆、逆强化学习、第三人称视角模仿学习、序列生成和聊天机器人

【强化学习原理+项目专栏】必看系列:单智能体、多智能体算法原理+项目实战、相关技巧(调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍:【强化学习原理+项目专栏】必看系列:单智能体、多智能体算法原理+项目实战、相关技巧(调参、画图等、趣味项目实现

额外说明

Unity中UI组件对Shader调色

文章目录 前言 一、原理 在Shader中直接暴露的Color属性,不会与UI的Image组件中的Color形成属性绑定。因为UI的Image组件中更改的颜色是顶点颜色,如果需要在修改组件中的颜色时,使Shader中的颜色也同时改变。那么就需要在应用程序

额外说明

3 万字,关系型数据库性能体系,设计和效率提升

目录 前言 一、预期的读者和阅读建议 二、数据库模型设计规范 1、数据库建模原则性规范 2、实体型之间关系认定规范 3、范式化 1NF 的规范 4、范式化 2NF 的规范 5、范式化3NF的规范 6、反范式化冗余字段使用规范 7、数据库对象命名基本规范

额外说明

YOLOv5入门实践(1)— 手把手教你使用labelimg标注数据集(附安装包+使用教程)

前言:Hello大家好,我是小哥谈。labelimg是一款开源的图像标注工具,可以用于对图像进行目标检测、语义分割等任务的标注。它支持多种常见的标注格式,如Pascal VOC、YOLO等,并且提供了方便的快捷键和标注工具,使得标注过程更加高效。本节课就

额外说明

jsoup 简介、中文文档、中英对照文档 下载

jsoup 文档 下载链接(含jar包、源码、pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 jsoup-1.10.3.jar jsoup-1.10.3-API文档-中文版.zip jsoup-1.10.3-API文档-中英对照版.z

额外说明

[Ext JS 4] 实战之Grid, Tree Gird 添加按钮列

引言 贴一个grid 的例子先: 有这样一个需求: 1. 给 Grid(or Tree Grid)添加一列, 这一列显示是Button. 点击之后可以对这一行进行一些操作 2. 这一列每一行对应的按钮不尽相同, 根据每一行的数据不同,显示的按钮不同,对应

额外说明

解读基思·斯坦诺维奇《超越智商》

文章目录 关于作者 关于本书 核心观点 一、聪明人,不一定理性 二、做决定时,我们的大脑里究竟发生了什么? 三、认知吝啬鬼的三个诡计 1. 生动的就是对的 2. 别人给什么,你就要什么 3. 相信自己总是对的 四、做出理性决策的三条途径 1. 假设这件事

额外说明

Java讲课笔记21:List接口及其实现类

文章目录 零、本讲学习目标 一、集合概述 1、引入集合的必要性 2、集合的定义 3、集合的分类 (1)单列集合Collection (2)双列集合Map 4、集合体系核心结构 二、Collection接口 1、Collection接口概述 2、Colle

额外说明

Java讲课笔记17:Lambda表达式

文章目录 零、本讲学习目标 一、Lambda表达式入门 1、匿名内部类的缺点 2、JDK1.8提供的解决方案 3、Lambda表达式语法格式 4、Lambda表达式案例演示 (1)创建动物接口Animal (2)创建学生类Student (3)创建测试类

ads via 小工具