04 2012 档案
Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步
摘要:在这个文章里,我将分享一下在iOpenWorks.com这个网站试运行中碰到的若干问题和解决方案,这些问题包含了:(1)如果通过 ASP.NET MVC预编译提高性能;(2)如果知道网站在运行中,用户响应速度、网站异常信息、用户操作习惯;(3)解决与DiscuzToolkit集成的线程同步 问题。 1 ASP.NET MVC 3预编译支持 提高网站性能,除了我们常见的压缩、CDN、缓存之外,还有一个就是使用预编译。不管是ASP.NET WebForm,或者是ASP.NET MVC,这些页面在网站运行过程中,都是要先经过编译处理的。因此,如果能在网站运行前对其进行编译,那无疑能更好的提高网... 阅读全文
posted @ 2012-04-17 23:20 啊T 阅读(490) 评论(0) 推荐(0)
内存池技术畅想
摘要:内存池技术畅想 内容: 本文将介绍几种常用的内存池技术的实现,这是我最近学习各大开源的内存池技术遗留下来的笔记,其主要内容包括:STL内存池以及类STL内存池实现Memcached内存池实现固定规格内存池实现Nginx内存池实现一.类STL的内存池实现方式 SGI STL的内存池分为一级配置器和二级配置器, 一级配置器主要处理分配空间大小大于128Byte的需求,其内部实现就是直接使用malloc realloc 和free. 二级配置器则使用使用free_list的数组链表的方式来管理内存,SGI的Allocate最小的分辨单位为8Byte,其free_lis... 阅读全文
posted @ 2012-04-17 22:58 啊T 阅读(738) 评论(0) 推荐(0)
CPU缓存
摘要:在计算机系统中,CPU高速缓存(CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。 缓存之所以有效,主要是因为程序运行时对内存的访问呈现局部性(Locality)特征。这种局部性既包括空间局部性(Spatial Locality),也包括时间局部性(Temporal Loca 阅读全文
posted @ 2012-04-15 15:28 啊T 阅读(1257) 评论(0) 推荐(0)
运行时的相互联系(PE、Windows 加载器、应用程序域、程序集清单、元数据、类型、对象、线程栈、托管堆)
摘要:本文将解释 PE、Windows 加载器、应用程序域、程序集清单、元数据、类型、对象、线程栈、托管堆等,与运行时的相互关系。因此,我首先写了一个简单 Demo 用于调试,其代码如下: using System;namespace CLRTest{ public class Circle { public double Radius { get; set; } public Circle() { } public Circle(double r) { this.Radius = r; } ... 阅读全文
posted @ 2012-04-01 01:19 啊T 阅读(1405) 评论(1) 推荐(2)