缓存的背景 缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。在cpu进行计算的时候, 首先是读取寄存器,然后内存,再是硬盘。由于寄存器容量很小,不太适合存储我们需要快速读取的数据,放在硬盘中话,效率太低,所以大多数人将一些静态 ...
分类:
编程语言 时间:
2017-05-24 23:53:10
阅读次数:
435
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。 本文档主要是结合Lin ...
分类:
系统相关 时间:
2017-05-16 10:59:51
阅读次数:
334
该断点下载可应用于浏览器或者迅雷等下载工具的下载,实现方式有多种多样的,本文仅仅研究了单线程的下载。迅雷等下载工具会自己主动将下载资源分块并记录每块的起始位置,然后依据系统性能。起多线程下载。 1. 基本原理 从Request Header的Range信息里面获取已经下载的文件大小,然后创建resp ...
分类:
编程语言 时间:
2017-05-15 22:26:38
阅读次数:
229
MySQL状态变量是当前server自启动后累计的一些系统状态信息,主要用于评估当前系统资源的使用情况以进一步分析系统性能而做出对应的调整决策。这些状态变量我们能够理解为等同于Oracle数据库的动态性能视图。MySQL的状态变量有非常多,比方SQL运行频率。索引的使用情况,锁资源的使用情况等等。状 ...
分类:
数据库 时间:
2017-05-14 10:39:30
阅读次数:
230
程序世界的代理模式同现实中的代理人(例如:律师)类似,执行当事人授权的一些事情或执行一些当事人无力完成的专业操作。 代理模式的作用: 完成用户请求,屏蔽用户对真实对象的直接访问。 在远程连接中对用户请求进行一些其他操作。例如转账,转账前进行登录检查,转账后记录日志。 延时加载,提升系统性能。 下面通 ...
分类:
其他好文 时间:
2017-05-13 16:08:01
阅读次数:
227
性能测试(PerformanceTest):就是为了收集系统的性能指标负载测试(LoadTest):就是在一定的负载情况下,根据收集的系统性能指标,来预测和判断系统的瓶颈。压力测试(StressTest):就是在高负载的情况下,把系统搞坏,收集系统中的隐藏问题容量测试(VolumeTest):确定系统可处理..
分类:
其他好文 时间:
2017-05-12 22:10:18
阅读次数:
145
缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多少人访问都只访问一次数据库,数据库压力不变缓存是一种用空间换取时间的技术,存在于计算机中很多地方,用 ...
分类:
Web程序 时间:
2017-05-11 20:58:05
阅读次数:
226
#!/usr/bin/pythonimportpsutilimportjsonimporttimedefitem_disk():returndict(zip([‘total‘,‘used‘,‘free‘,‘percent‘],psutil.disk_usage(‘/‘)))defitem_cpu():returndict(zip([‘user‘,‘system‘,‘nice‘,‘idle‘],psutil.cpu_times()))defitem_mem():returndict(zip([‘total‘,‘..
分类:
Web程序 时间:
2017-05-10 17:50:05
阅读次数:
228
数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。 2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。 3,尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。 4,对于小 ...
分类:
数据库 时间:
2017-05-09 00:51:52
阅读次数:
275