11. 什么是CPU空间寻址?寻址范围是有什么决定的?
CPU空间寻址
- 寻址空间一般指的是CPU对于内存寻址的能力,即能最多用到多少内存。
- 数据在存储器(RAM)有规律地存放 ,CPU在运算的找找到数据的存储位置,才能取出数据,这就叫做寻址。
寻址范围
- 如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位。
- 计算机的寻找范围由总线宽度(处理器的地址总线的位数)决定的,也可以理解为cpu寄存器位数,这二者一般是匹配的。地址总线为N位(N通常都是8的整数倍;也说N根数据总线)的CPU寻址范围是2的N次方字节,即2^N(B)。
12. 一个数据库business,其中有一个商品数据表goods,因为业务需要,往表中增加一个字段feature(整形)。
(1) 写SQL语句,进行字段添加(注:连接DB会话没有指定连接的DB名字)
use business;
alter table goods add feature int;
(2) 由于业务特性,业务必须7*24小时不停服,目前数据总量为2kW,如果您是小明,你觉得直接加字段会有什么问题,您会怎么做?
直接向数据量大的表格添加字段,可能出现的问题:
- 对于数据总量较大的表格,直接添加字段可能会造成整张表被加锁,添加字段的时间可能很长,其它事务无法进行。
- 有可能造成数据库卡死,导致服务崩溃。
- 而也无需求是7*24小时不停服,与业务需求发生矛盾。
解决方法:
- 方法一(以新换旧):创建一个临时新表,复制旧表的结构(包括索引),添加需要的新字段。然后把旧表的数据复制到新表中去。删除旧表(或旧表的名字修改为别的名,留以备用),重命名新表的名字为旧表的名字
- 方法二(关联):拓展子表,用旧表主键id关联新表id。(需要增加代码量)
13. 在13:30~13:50, 一堆服务器接口请求都要好几秒才有响应,已知服务架构图如下:
目前Niginx记录的日志格式前几列为,请求时间|响应状态|响应时间|请求IP|请求地址,
各列意义如下:
已知目前ngix日志没有分片存储(即所有日历日志都存入到当个文件中),假设出现问题的日期是2022-07-05
1.猜测可能是相比之前来说,某些接口的量级突然起来了,那么如何验证这一猜想?写出对应的查询命令;
2.假设符合1猜想,怀疑被人恶意刷了,又该如何验证?写出查询命令;
3.假设量级没有任何问题,但是接口就是慢了,还有其他可能的原因吗?如何验证猜想?