详解ASP.NET中Membership表和阻止DOS攻击

无需关闭站点的情况下如何查询ASP.NET 2.0 Membership表

这种查询会爽快的运行在你的开发环境中:

Select * from aspnet_users where UserName = 'blabla'

或者在无需任何问题的情况下获得一些用户的 profile :

Select * from aspnet_profile where userID = '…...'

甚至你可以像这样在aspnet_membership表中轻松的更新用户的邮件地址:

Update aspnet_membership 
SET Email = 'newemailaddress@somewhere.com' 
Where Email = '…'

但是当在你的产品服务器上有一个巨大的数据库时,运行这些脚本都会搞垮你的服务器。理由就是, 虽然这些查询看起来明显是你经常使用的语句,但是这些语句没有任何索引。因此,上面所有在"Table Scan"中的结果(很糟糕的查询方式)都会响应数百万行记录。

这里的现象对我们而言意味着什么。我们使用了这些字段诸如UserName, Email, UserID, IsAnonymous等。关于Pageflakes的很多市场报表。这些报表中的一些仅仅市场部可以使用,其他人都不 可以使用它。现在,站点运行得很好,但是市场部一天当中会使用它很多次而且用户常常打电话告诉我们 网站太慢了,”用户报告网站性能十分地慢!”,一些页面甚至还发生超时等现象。

常常,当他们打电话个给我们的时候,我们就会告诉他们“稍等,马上检查”,然后我们开始对整个 网站进行检查。我们使用SQL profiler工具来查看到底那里出错了。但是我们不能找到任何问题。 Profiler显示了查询运行的摁件。CPU负载位于适当的参数范围内。站点运行得很好,很流畅。我们打电 话给他们,“我们不能查到任何问题,到底怎么了?”。

因此,当我们试图调查这个问题并且在我们没有调查时,发现站点真的变得很慢的时候,为什么我们 不能看到它变慢的任何问题?

市场部有时候每天需要很多次运行一些分析报表来查询数据。无论什么时候他们执行这些查询,当这 些字段都是不是索引时,它会使得服务器的IO吞吐量更高以及CPU的使用率增高:

时间: 2024-10-02 04:19:25

详解ASP.NET中Membership表和阻止DOS攻击的相关文章

详解在MySQL中创建表的教程_Mysql

创建表的命令要求:     表的名称     表字段名称     每个字段的定义 语法: 下面是通用的SQL语法来创建一个MySQL表: CREATE TABLE table_name (column_name column_type); 现在,我们将创建下面的教程数据库表中. tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author

详解ASP.NET中Session的用法_实用技巧

      当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.        通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象.当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有

详解ASP.NET MVC Form表单验证_实用技巧

一.前言 关于表单验证,已经有不少的文章,相信Web开发人员也都基本写过,最近在一个个人项目中刚好用到,在这里与大家分享一下.本来想从用户注册开始写起,但发现东西比较多,涉及到界面.前端验证.前端加密.后台解密.用户密码Hash.权限验证等等,文章写起来可能会很长,所以这里主要介绍的是登录验证和权限控制部分,有兴趣的朋友欢迎一起交流. 一般验证方式有Windows验证和表单验证,web项目用得更多的是表单验证.原理很简单,简单地说就是利用浏览器的cookie,将验证令牌存储在客户端浏览器上,co

详解Java编程中向量(Vector)的应用_java

Vector(向量)是 java.util 包中的一个类,该类实现了类似动态数组的功能. 向量和数组相似,都可以保存一组数据(数据列表).但是数组的大小是固定的,一旦指定,就不能改变,而向量却提供了一种类似于"动态数组"的功能,向量与数组的重要区别之一就是向量的容量是可变的. 可以在向量的任意位置插入不同类型的对象,无需考虑对象的类型,也无需考虑向量的容量. 向量和数组分别适用于不同的场合,一般来说,下列场合更适合于使用向量: 如果需要频繁进行对象的插入和删除工作,或者因为需要处理的对

ip-《TCP/IP 详解卷一》中90页中讲到,“由于子网号不相同,代理ARP不能使用”,这怎么理解?

问题描述 <TCP/IP 详解卷一>中90页中讲到,"由于子网号不相同,代理ARP不能使用",这怎么理解? <TCP/IP 详解卷一>中90页中讲到,"由于子网号不相同,代理ARP不能使用",这怎么理解? 解决方案 ARP主要用在一个子网中,用MAC地址来通信.数据链路层 不同子网,需要通过三层路由 解决方案二: 比如 N1 <-> GW <-> N2,N1和N2是同一个子网,GW上开启arp代理的效果是,N1和N2上

CSS标签语法:详解选择符中的关系选择符

文章简介:CSS标签语法:详解选择符中的关系选择符. 相信大家都对CSS选择符都不陌生,选择符包含:元素选择符.关系选择符.属性选择符.伪类选择符.伪对象选择符.在众多的选择符中,可以让我们根据自己的需要更加灵活性的选择合适的选择符来对样式进行编写,达到最大的质量和效率. 今天就为大家介绍下选择符中的关系选择符,"关系"这可是一等一的大事啊,我们得理清楚,这样做事情才能更加的有效率.不然在CSS中有你受的,哈哈.关系选择符有四个类别:包含选择符.子选择符.相邻选择符.兄弟选择符.接下来

在Asp程序中取得表单所有内容的方法

程序 /**@描述: 在Asp程序中取得表单所有内容的方法@作者: 慈勤强@Email:cqq1978@Gmail.com Http://blog.csdn.net/cqq*/ 刚才在论坛里面看到有人问这个问题,就是在Asp中如何得到所有表单的名称跟 对应的值.其实,这个问题很简单,但是可能还是有很多人不知道该怎么做,所以特地 写下来,仅供参考. 在Asp程序中,用来获得客户端数据的对象是 Request,这个对象给我们提供了很多 的方法以及属性.比如,有这样一个Form, <FORM METH

PS详解转手绘中头发绘制

教程向朋友们介绍PS详解转手绘中头发绘制.头发的绘制是转手绘中最难的部分.质感亮丽的发丝会给人物增加不少亮点.不过要画出有层次感的发丝还是要花费一定功夫的.需要用钢笔分别勾出不同的路径来描边,逐步做出粗细不等,颜色浅深的发丝.最终效果   原图 下面是具体教程: 1.为了节省大家的时间,素材图片已经处理好了.只是去掉了头发,需要自己加上去. 2.用钢笔工具沿着原图勾出头发的轮廓. 分类: PS鼠绘教程 转手绘教程

详解Linux系统中md5sum命令的用法

  这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的"指纹"(或称"报文摘要"),不同的文件产生相 同的报文摘要的可能性是非常非常之小的. 在linux或Unix上,