阿里云升级cpu(阿里云技术支持)

阿里云服务器CPU达到100%解决实例和某些原因

我的很多朋友都购买了阿里云ECS服务器,通常称为VPS,但是在使用过程中,他们经常遇到各种问题,例如我们今天将讨论的阿里云服务器cpu数量为100%,大多数朋友会认为内存已用尽,但是实际情况要比这复杂得多.自由部落的主人也多次遇到这种情况.通常,我们重新启动服务器,有时可以解决,有时无法解决,并且原因太多.让我们看一个cpu达到100%的示例.

在这种情况下,我们需要检查的第一件事是检查网站日志和流程.

导致服务器CPU达到100%的原因

首先,自由部落的技术有限,知识也不多.这是互联网上的一些原因,让我们看看.

1. Cloud Shield扫描占用大量CPU

我在某个网站的网站访问日志中看到以下日志:

此时,我们只需要关闭阿里云Cloud Shield,即可直接在后台关闭.

2.DDOS攻击或其他攻击

如果遇到这种情况,则只能从日志中找到攻击的IP并将其阻止.但是,当前的CC攻击或DDOS攻击总是会更改IP.为此,请暂时关闭或使用CDN容纳.

3.太低的配置所致

在这种情况下,您可以升级配置.需要升级吗?您可以看到阿里云ECS的512M带宽是否足够?如何判断是否要升级VPS带宽.

此外,阿里云正式对SQL进行了一些介绍,内容如下:

表现象的sql执行状态是:发送数据,复制到tmp表,复制到磁盘上的tmp表,排序结果,使用文件排序,锁定;

2.解决方案:登录,使用show processlist查看当前正在执行的sql,当执行show processlist时,通常会出现大量语句.

状态如第1条所述,SQL存在性能问题

a.发送数据: sql正在从表中查询数据.如果查询条件的索引不正确,则执行sql的时间将太长.

b.复制到磁盘上的tmp表:由于临时结果集太大并且超过了指定的临时内存大小,因此有必要将临时结果集复制到磁盘上

排序结果,使用filesort: sql正在执行排序操作,排序操作将导致更多的CPU消耗,您可以添加索引,或者

减少排序的结果集

不同的实例规范具有不同的iops功能.例如,iops为150,这意味着它每秒可以提供150次随机磁盘io操作,因此如果用户的数据量为

它非常大,内存很小.由于iops的限制,速度较慢的sql可能会消耗所有io资源,并影响其他sql查询,这是的所有sql

返回结果集需要很长时间,这会减慢应用程序的整体响应.

Discuz论坛插件可实现云主机CPU的100%实例解析过程

这是一个在互联网上发现的部落案例:

检查顶部,命令结果如下:

在检查过程中经常出现两个高CPU的PHP进程,但是在裁剪此图片时只有一个.

再次查看php-fpm的配置,如下所示:

在这里,我发现一个不值得使用的配置. PHP进程的最大数量只能为2(我在屏幕截图中将其修改为20,修改前为2),因此,当两个PHP进程都出现问题时,不再有PHP进程可以使用,则网站无法打开.

让我们看一下PHP流程发生了什么,如下所示:

您可以看到云主机上的PHP进程正在请求220.181.136.41的端口80.

让我们看看这个IP是哪个童话,直接百度这个IP地址.

可以发现这是sinaapp云平台的IP.

因此我去grep在网站的根目录中搜索sinaapp,并找到了该程序(图片为缩小图片,点击放大):

让我们看一下IP:

看看这个地址的作用:

到目前为止,问题已得到澄清.这是因为验证插件上的界面无法正常运行,这导致了本地PHP错误并进入了无限循环.

PHP开发人员的技巧:在php5.2.x版本中,使用curl来超时爬网网络内容将导致CPU飙升,但是此问题已在5.3+版本中修复,并且爬网几乎将影响CPU..没有效果.

PHP捕获远程内容的最佳方法是curl,但是出于兼容性原因,许多程序可能会使用fsockopen来捕获远程内容(curl需要模块支持,尽管已经安装了大多数环境,但是并不排除其中的一些小问题.数量未安装,fsockopen是PHP的内置函数).当fsockopen超时时,尚未测试不同PHP版本中的CPU消耗.如果您有兴趣,可以进行研究.

对于这种情况,我相信许多朋友会有些困惑,但是大多数人认为他们应该可以理解.

在免费部落网站中,还有与阿里云有关的其他主题:

阿里云VPS购物指南,了解1.1核CPU 512M/ 1G内存1M/ 2M带宽可以处理多少IP流量

2.阿里云VPS负载性能测试工具PTS平台操作介绍

3.美国硅谷的阿里云VPS购买和性能测试

摘要

文章内容来自互联网,由自由部落组织和发布.

当阿里云服务器的CPU达到100%时,请记住检查网站日志.当然,在编辑网站时您应该更加注意.

阿里云cpu检测进程mysql太高怎么解决

一台服务器解决了 Mysql cpu占用 100%的问题。稍整理了一下,将经验记录在这篇文章里。

朋友主机(Windows 2003+ IIS+ PHP+ MYSQL)近来 MySQL服务进程(mysqld-nt.exe) CPU占用率总为 100%高居不下。此主机有10个左右的 database,分别给十个网站调用。据朋友测试,导致 mysqld-nt.exe cpu占用奇高的是网站A,一旦在 IIS中将此网站停止服务,CPU占用就降下来了。一启用,则马上上升。

MYSQL CPU占用 100%的解决过程

今天早上仔细检查了一下。目前此网站的七日平均日 IP为2000,PageView为 3万左右。网站A用的 database目前有39个表,记录数 60.1万条,占空间 45MB。按这个数据,MySQL不可能占用这么高的资源。于是在服务器上运行命令,将 mysql当前的环境变量输出到文件 output.txt:

d:\web\mysql> mysqld.exe--help>output.txt发现 tmp_table_size的值是默认的 32M,于是修改 My.ini,将 tmp_table_size赋值到 200M:

d:\web\mysql> notepad c:\windows\my.ini

[mysqld]

tmp_table_size=200M

然后重启 MySQL服务。CPU占用有轻微下降,以前的CPU占用波形图是 100%一根直线,现在则在 97%~100%之间起伏。这表明调整 tmp_table_size参数对 MYSQL性能提升有改善作用。但问题还没有完全解决。

于是进入 mysql的 shell命令行,调用 show processlist,查看当前 mysql使用频繁的 sql语句:

mysql> show processlist;

反复调用此命令,发现网站 A的两个 SQL语句经常在 process list中出现,其语法如下:

SELECT t1.pid, t2.userid, t3.count, t1.dateFROM _mydata AS t1

LEFT JOIN _myuser AS t3 ON t1.userid=t3.useridLEFT JOIN _mydata_body AS t2 ON t1.pid=t3.pidORDER BY t1.pid

LIMIT 0,15

调用 show columns检查这三个表的结构:

mysql> show columns from _myuser;

mysql> show columns from _mydata;

mysql> show columns from _mydata_body;

终于发现了问题所在:_mydata表,只根据 pid建立了一个 primary key,但并没有为 userid建立索引。而在这个 SQL语句的第一个 LEFT JOIN ON子句中:

LEFT JOIN _myuser AS t3 ON t1.userid=t3.userid_mydata的 userid被参与了条件比较运算。于是我为给 _mydata表根据字段 userid建立了一个索引:

mysql> ALTER TABLE `_mydata` ADD INDEX( `userid`)建立此索引之后,CPU马上降到了 80%左右。看到找到了问题所在,于是检查另一个反复出现在 show processlist中的 sql语句:

SELECT COUNT(*)

FROM _mydata AS t1, _mydata_key AS t2

WHERE t1.pid=t2.pid and t2.keywords='孔雀'

经检查 _mydata_key表的结构,发现它只为 pid建了了 primary key,没有为 keywords建立 index。_mydata_key目前有 33万条记录,在没有索引的情况下对33万条记录进行文本检索匹配,不耗费大量的 cpu时间才怪。看来就是针对这个表的检索出问题了。于是同样为 _mydata_key表根据字段 keywords加上索引:

mysql> ALTER TABLE `_mydata_key` ADD INDEX( `keywords`)建立此索引之后,CPU立刻降了下来,在 50%~70%之间震荡。

再次调用 show prosslist,网站A的sql调用就很少出现在结果列表中了。但发现此主机运行了几个 Discuz的论坛程序, Discuz论坛的好几个表也存在着这个问题。于是顺手一并解决,cpu占用再次降下来了。(2007.07.09附注:关于 discuz论坛的具体优化过程,我后来另写了一篇文章,详见:千万级记录的 Discuz!论坛导致 MySQL CPU 100%的优化笔记 )解决 MYSQL CPU占用 100%的经验总结

增加 tmp_table_size值。mysql的配置文件中,tmp_table_size的默认大小是 32M。如果一张临时表超出该大小,MySQL产生一个 The table tbl_name is full形式的错误,如果你做很多高级 GROUP BY查询,增加 tmp_table_size值。这是 mysql官方关于此选项的解释:

tmp_table_size

This variable determines the maximum size for a temporary table in memory. If the table becomes too large, a MYISAM table is created on disk. Try to avoid temporary tables by optimizing the queries where possible, but where this is not possible, try to ensure temporary tables are always stored in memory. Watching the processlist for queries with temporary tables that take too long to resolve can give you an early warning that tmp_table_size needs to be upped. Be aware that memory is also allocated per-thread. An example where upping this worked for more was a server where I upped this from 32MB(the default) to 64MB with immediate effect. The quicker resolution of queries resulted in less threads being active at any one time, with all-round benefits for the server, and available memory.

对 WHERE, JOIN, MAX(), MIN(), ORDER BY等子句中的条件判断中用到的字段,应该根据其建立索引 INDEX。索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。表越大,花费时间越多。如果表对于查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要考虑所有数据。如果一个表有1000行,这比顺序读取至少快100倍。所有的MySQL索引(PRIMARY、UNIQUE和INDEX)在B树中存储。根据 mysql的开发文档:

索引 index用于:

快速找出匹配一个WHERE子句的行

当执行联结(JOIN)时,从其他表检索行。

对特定的索引列找出MAX()或MIN()值

如果排序或分组在一个可用键的最左面前缀上进行(例如,ORDER BY key_part_1,key_part_2),排序或分组一个表。如果所有键值部分跟随DESC,键以倒序被读取。

在一些情况中,一个查询能被优化来检索值,不用咨询数据文件。如果对某些表的所有使用的列是数字型的并且构成某些键的最左面前缀,为了更快,值可以从索引树被检索出来。假定你发出下列SELECT语句:

mysql> SELECT* FROM tbl_name WHERE col1=val1 AND col2=val2;如果一个多列索引存在于col1和col2上,适当的行可以直接被取出。如果分开的单行列索引存在于col1和col2上,优化器试图通过决定哪个索引将找到更少的行并来找出更具限制性的索引并且使用该索引取行。

开发人员做 SQL数据表设计的时候,一定要通盘考虑清楚。

阿里云服务器怎么升级阿里云服务器怎么升级配置

如何升级云服务器的配置?

云服务器是一种弹性可扩展的计算服务,在资源访问和支付方面具有很高的灵活性,运行稳定,访问高效。但随着用户业务的不断增长,还是会出现偶尔的停滞和放缓。经过反复调整优化,如果没有发现程序或服务器错误,很可能是因为空使用时间较长,现有的配置参数已经不能满足正常的业务需求。

这时候就需要升级云服务器的配置了。常见的升级形式主要有定期升级和临时升级。

当客户使用一段时间后发现现有配置不能满足当前业务需求,需要在下一个使用周期进行配置升级时:如果云服务器已经过期,可以随时升级下一个使用周期的配置,并收取升级后的价格;如果云服务器尚未到期,可以随时升级,但在云服务器到期期间,可以按照原配置的费用补足差额。

以波导云服务器为例,登录波导云控制台,选择云服务器-云服务器管理。

点击升级配置对应的云服务器,升级现有的云服务器。

调整CPU、内存、硬盘和带宽、防御等的大小。根据自己的需求。

如果需要降级云服务器配置,也可以通过该页面的管理操作进行调整。

需要注意的是,升级内存、CPU和硬盘会重启服务器。如果云服务是关闭的,升级完成后会自动开启。

阿里云服务器买哪种合适?

一、选购阿里云服务器之前我们需要了解服务器的几个关键点,即服务器配置、服务器宽带、服务器地域节点三部分,服务器配置要根据用户实际的使用场景来确定,服务器宽带要进行计算选择合适的宽带、服务器地域节点要根据用户的分布情况选择,阿里云服务器应选择,

服务器配置是指实例规格如:CPU、内存、硬盘;宽带等,这些您可以先少购买,后期按需升级,以免造成浪费;

阿里云服务器为何非常慢是什么原因?

原因很多,有可能是程序问题,也可能是访问量太大,也可能是服务器配置太低,这个可以升级的。

阅读剩余
THE END