当前位置: 首页 > wzjs >正文

怎样学互联网营销上海做网站优化

怎样学互联网营销,上海做网站优化,单位网站怎么做,wordpress 中文广告插件从上图可以看出SQL及索引的优化效果是最好的,而且成本最低,所以工作中我们要在这块花更多时间。 补充一点配置文件my.ini或my.cnf的全局参数: 假设服务器配置为: CPU:32核内存:64GDISK:2T SSD 下面参数都是服务端参数,默认在配置文件的 [mysqld] 标签下mysql server系…

在这里插入图片描述
从上图可以看出SQL及索引的优化效果是最好的,而且成本最低,所以工作中我们要在这块花更多时间。

补充一点配置文件my.ini或my.cnf的全局参数:
假设服务器配置为:

  • CPU:32核
  • 内存:64G
  • DISK:2T SSD
    下面参数都是服务端参数,默认在配置文件的 [mysqld] 标签下

mysql server系统参数

msyql server系统参数
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections添加链接描述

max_connections=3000

连接的创建和销毁都需要系统资源,比如内存、文件句柄,业务说的支持多少并发,指的是每秒请求数,也就是QPS。
一个连接最少占用内存是256K,最大是64M,如果一个连接的请求数据超过64MB(比如排序),就会申请临时空间,放到硬盘上。
如果3000个用户同时连上mysql,最小需要内存3000256KB=750M,最大需要内存300064MB=192G。
如果innodb_buffer_pool_size是40GB,给操作系统分配4G,给连接使用的最大内存不到20G,如果连接过多,使用的内存超过20G,将会产生磁盘SWAP,此时将会影响性能。连接数过高,不一定带来吞吐量的提高,而且可能占用更多的系统资源。

max_user_connections=2980

允许用户连接的最大数量,剩余连接数用作DBA管理。

back_log=300

指的是app应用通过jdbc连接mysql进行操作完毕后,空闲300秒后断开,默认是28800,单位秒,即8个小时。

interactive_timeout=300

指的是mysql client连接mysql进行操作完毕后,空闲300秒后断开,默认是28800,单位秒,即8个小时。

sort_buffer_size=4M

每个需要排序的线程分配该大小的一个缓冲区。增加该值可以加速ORDER BY 或 GROUP BY操作。
sort_buffer_size是一个connection级的参数,在每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存。
sort_buffer_size:并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统的内存资源。例如:500个连接将会消耗500*sort_buffer_size(4M)=2G。

join_buffer_size=4M

每个需要排序的线程分配该大小的一个缓冲区。增加该值可以加速ORDER BY 或 GROUP BY操作。
sort_buffer_size是一个connection级的参数,在每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存。
sort_buffer_size:并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统的内存资源。例如:500个连接将会消耗500*sort_buffer_size(4M)=2G。

join_buffer_size=4M

用于表关联缓存的大小,和sort_buffer_size一样,该参数对应的分配内存也是每个连接独享。

innodb参数

innodb相关参数
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size
添加链接描述

innodb_thread_concurrency=64

此参数用来设置innodb线程的并发数,默认值为0表示不被限制,若要设置则与服务器的CPU核心数相同或是CPU的核心数的2倍,如果超过配置并发数,则需要排队,这个值不宜太大,不然可能会导致线程之间锁争用严重,影响性能。

innodb_buffer_pool_size=40G

innodb存储引擎buffer pool缓存大小,一般为物理内存的60%-70%。
内存大小直接反应数据库的性能。

在这里插入图片描述
如何判断当前数据库的内存是否已经达到瓶颈了呢?
可以通过查看当前服务器的状态,比较物理磁盘的读取和内存读取的比例来判断缓冲池的命中率,通常InnoDB存储引擎的缓冲池的命中率不应该小于99%,如:

mysql> show global status like 'innodb%read%'\G;

当前服务器的状态参数:

  • Innodb_buffer_pool_reads:表示从物理磁盘读取页的次数
  • Innodb_buffer_pool_read_ahead:预读的次数
  • Innodb_buffer_pool_read_ahead_evicted:预读的页,但是没有被读取就从缓冲池中被替换的页的数量,一般用来判断预读的效率
  • Innodb_buffer_pool_read_requests:从缓冲池中读取页的次数
  • Innodb_data_readsInnodb_rows_read:总共读入的字节数
  • Innodb_data_reads:发起读取请求的次数,每次读取可能需要读取多个页
    以下公式可以计算各种对缓冲池的操作:
    在这里插入图片描述
innodb_lock_wait_timeout=10

行锁锁定时间,默认50s,根据公司业务定,没有标准值。

innodb_flush_log_at_trx_commit=1

binlog参数

binlog相关参数
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html添加链接描述

sync_binlog=1

Mysql 8.0新特性详解

1、新增降序索引

MySQL在语法上很早就已经支持降序索引,但实际上创建的仍然是升序索引,如下MySQL 5.7 所示,c2字段降序,但是从show create table看c2仍然是升序。8.0可以看到,c2字段降序。只有Innodb存储引擎支持降序索引。

# ====MySQL 5.7演示====
mysql> create table t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));
Query OK, 0 rows affected (0.04 sec)mysql> insert into t1 (c1,c2) values(1, 10),(2,50),(3,50),(4,100),(5,80);
Query OK, 5 rows affected (0.02 sec)mysql> show create table t1\G
*************************** 1. row ***************************Table: t1
Create Table: CREATE TABLE `t1` (`c1` int(11) DEFAULT NULL,`c2` int(11) DEFAULT NULL,KEY `idx_c1_c2` (`c1`,`c2`)    --注意这里,c2字段是升序
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)mysql> explain select * from t1 order by c1,c2 desc;  --5.7也会使用索引,但是Extra字段里有filesort文件排序
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------------+
| id | select_type | table | partitions | type  | possible_keys | key       | key_len | ref  | rows | filtered | Extra                       |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------------+
|  1 | SIMPLE      | t1    | NULL       | index | NULL          | idx_c1_c2 | 10      | NULL |    1 |   100.00 | Using index; Using filesort |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------------+
1 row in set, 1 warning (0.01 sec)# ====MySQL 8.0演示====
mysql> create table t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));
Query OK, 0 rows affected (0.02 sec)mysql> insert into t1 (c1,c2) values(1, 10),(2,50),(3,50),(4,100),(5,80);
Query OK, 5 rows affected (0.02 sec)mysql> show create table t1\G
*************************** 1. row ***************************Table: t1
Create Table: CREATE TABLE `t1` (`c1` int DEFAULT NULL,`c2` int DEFAULT NULL,KEY `idx_c1_c2` (`c1`,`c2` DESC)  --注意这里的区别,降序索引生效了
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)mysql> explain select * from t1 order by c1,c2 desc;  --Extra字段里没有filesort文件排序,充分利用了降序索引
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-------------+
| id | select_type | table | partitions | type  | possible_keys | key       | key_len | ref  | rows | filtered | Extra       |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | t1    | NULL       | index | NULL          | idx_c1_c2 | 10      | NULL |    1 |   100.00 | Using index |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)mysql> explain select * from t1 order by c1 desc,c2;  --Extra字段里有Backward index scan,意思是反向扫描索引;
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+----------------------------------+
| id | select_type | table | partitions | type  | possible_keys | key       | key_len | ref  | rows | filtered | Extra                            |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+----------------------------------+
|  1 | SIMPLE      | t1    | NULL       | index | NULL          | idx_c1_c2 | 10      | NULL |    1 |   100.00 | Backward index scan; Using index |
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+------+----------+----------------------------------+
1 row in set, 1 warning (0.00 sec)mysql> explain select * from t1 order by c1 desc,c2 desc;  --Extra字段里有filesort文件排序,排序必须按照每个字段定义的排序或按相反顺序才能充分利用索引
+----+-------------+-------+------------+-------+---------------+-----------+---------+------+--</
http://www.dtcms.com/wzjs/206252.html

相关文章:

  • 网络推广和网站推广百度官方认证
  • 哪个视频网站做视频赚钱的关于网络推广的方法
  • 重庆手机网站推广资料北京网站快速排名优化
  • 南京网站的优化什么是seo推广
  • wordpress网站关键字百度新闻网页
  • 什么网站可以做片头电商培训机构推荐
  • 阜阳哪里有做网站的全网推广哪家正宗可靠
  • 品牌宣传网站制作谷歌推广怎么开户
  • 张家港网站设计有吗sem培训班培训多少钱
  • 如何做网站同步wordpress自助建站
  • 株洲网站制作天津seo网络营销
  • java做电子政务网站系统seo学习
  • 公积金网站显示5月2日后做此交易推广优化seo
  • 南宁网站建设公司招聘镇江网站关键字优化
  • vps做vpn svn和网站aso优化平台
  • 宁波大型网站推广服务网页设计与制作步骤
  • 免费企业网站模板html北京seo网站开发
  • dede网站301怎么做百度教育app
  • 专门做淘宝优惠券的网站百度指数使用方法
  • 做好网站seo爱站网
  • 儿童教育网站模板dw友情链接怎么设置
  • 定制企业网站费用小程序开发平台有哪些
  • 做阿里巴巴网站图片大全公司调查公司
  • 网站引导页面美国婚恋网站排名
  • 在什么政府网站可以查小区建设项目高端网站建设的公司
  • 军事要闻军事频道徐州seo网站推广
  • 怎么用java 做网站淘宝权重查询
  • 海外网购哪个平台最好搜索引擎优化方法总结
  • 青岛哪家做网站的公司好seo推广编辑
  • 和女人做的电影网站互联网营销推广渠道