<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT备忘录</title><link>http://www.dazix.cn/</link><description>沈阳网站制作|建设|策划|改版|SEO|优化|排名|推广|网络营销</description><generator>RainbowSoft Studio Z-Blog 1.8 Spirit Build 80722</generator><language>zh-CN</language><copyright>Copyright 2007-2010 www.dazix.cn All Rights Reserved. Powered By Z-Blog 专注于沈阳本地网站制作、建设、策划、改版、SEO、优化、排名、推广、网络营销、Archiver</copyright><pubDate>Sat, 07 Aug 2010 17:21:31 +0800</pubDate><item><title>负载均衡必须要考虑的八个方案</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/80.html</link><pubDate>Sat, 07 Aug 2010 17:18:09 +0800</pubDate><guid>http://www.dazix.cn/post/80.html</guid><description><![CDATA[<p><strong>1、HTML静态化<br /></strong>其实大家都知道，效率最高、消耗最小的就是纯静态化的html页面，所以我们尽可能使我们的网站上的页面采用静态页面来实现，这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站，我们无法全部手动去挨个实现，于是出现了我们常见的信息发布系统CMS，像我们常访问的各个门户站点的新闻频道，甚至他们的其他频道，都是通过信息发布系统来管理和实现的，信息发布系统可以实现最简单的信息录入自动生成静态页面，还能具备频道管理、权限管理、自动抓取等功能，对于一个大型网站来说，拥有一套高效、可管理的CMS是必不可少的。<br />除了门户和信息发布类型的网站，对于交互性要求很高的社区类型网站来说，尽可能的静态化也是提高性能的必要手段，将社区内的帖子、文章进行实时的静态化，有更新的时候再重新静态化也是大量使用的策略，像Mop的大杂烩就是使用了这样的策略，网易社区等也是如此。<br />同时，html静态化也是某些缓存策略使用的手段，对于系统中频繁使用数据库查询但是内容更新很小的应用，可以考虑使用html静态化来实现，比如论坛中论坛的公用设置信息，这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中，这些信息其实大量被前台程序调用，但是更新频率很小，可以考虑将这部分内容进行后台更新的时候进行静态化，这样避免了大量的数据库访问请求。<br /><strong>2、图片服务器分离</strong><br />大家知道，对于Web服务器来说，不管是Apache、IIS还是其他容器，图片是最消耗资源的，于是我们有必要将图片与页面进行分离，这是基本上大型网站都会采用的策略，他们都有独立的图片服务器，甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力，并且可以保证系统不会因为图片问题而崩溃，在应用服务器和图片服务器上，可以进行不同的配置优化，比如apache在配置ContentType的时候可以尽量少支持，尽可能少的LoadModule，保证更高的系统消耗和执行效率。<br /><strong>3、数据库集群和库表散列</strong><br />大型网站都有复杂的应用，这些应用必须使用数据库，那么在面对大量访问的时候，数据库的瓶颈很快就能显现出来，这时一台数据库将很快无法满足应用，于是我们需要使用数据库集群或者库表散列。<br />在数据库集群方面，很多数据库都有自己的解决方案，Oracle、Sybase等都有很好的方案，常用的MySQL提供的Master/Slave也是类似的方案，您使用了什么样的DB，就参考相应的解决方案来实施即可。<br />上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制，于是我们需要从应用程序的角度来考虑改善系统架构，库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离，不同的模块对应不同的数据库或者表，再按照一定的策略对某个页面或者功能进行更小的数据库散列，比如用户表，按照用户ID进行表散列，这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构，将论坛的用户、设置、帖子等信息进行数据库分离，然后对帖子、用户按照板块和ID进行散列数据库和表，最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。<br /><strong>4、缓存</strong><br />缓存一词搞技术的都接触过，很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。<br />架构方面的缓存，对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块，也可以使用外加的Squid模块进行缓存，这两种方式均可以有效的提高Apache的访问响应能力。<br />网站程序开发方面的缓存，Linux上提供的Memory Cache是常用的缓存接口，可以在web开发中使用，比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享，一些大型社区使用了这样的架构。另外，在使用web语言开发的时候，各种语言基本都有自己的缓存模块和方法，PHP有Pear的Cache模块，Java就更多了，.net不是很熟悉，相信也肯定有。<br /><strong>5、镜像</strong><br />镜像是大型网站常采用的提高性能和数据安全性的方式，镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异，比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点，数据进行定时更新或者实时更新。在镜像的细节技术方面，这里不阐述太深，有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路，比如Linux上的rsync等工具。<br /><strong>6、负载均衡</strong><br />负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。<br />负载均衡技术发展了多年，有很多专业的服务提供商和产品可以选择，我个人接触过一些解决方法，其中有两个架构可以给大家做参考。<br /><strong>7、硬件四层交换</strong><br />第四层交换使用第三层和第四层信息包的报头信息，根据应用区间识别业务流，将整个区间段的业务流分配到合适的应用服务器进行处理。　第四层交换功能就象是虚 IP，指向物理服务器。它传输的业务服从的协议多种多样，有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上，需要复杂的载量平衡算法。在IP世界，业务类型由终端TCP或UDP端口地址来决定，在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。<br />在硬件四层交换产品领域，有一些知名的产品可以选择，比如Alteon、F5等，这些产品很昂贵，但是物有所值，能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。<br /><strong>8、软件四层交换</strong><br />大家知道了硬件四层交换机的原理后，基于OSI模型来实现的软件四层交换也就应运而生，这样的解决方案实现的原理一致，不过性能稍差。但是满足一定量的压力还是游刃有余的，有人说软件实现方式其实更灵活，处理能力完全看你配置的熟悉能力。<br />软件四层交换我们可以使用Linux上常用的LVS来解决，LVS就是Linux Virtual Server，他提供了基于心跳线heartbeat的实时灾难应对解决方案，提高系统的鲁棒性，同时可供了灵活的虚拟VIP配置和管理功能，可以同时满足多种应用需求，这对于分布式的系统来说必不可少。<br />一个典型的使用负载均衡的策略就是，在软件或者硬件四层交换的基础上搭建squid集群，这种思路在很多大型网站包括搜索引擎上被采用，这样的架构低成本、高性能还有很强的扩张性，随时往架构里面增减节点都非常容易。这样的架构我准备空了专门详细整理一下和大家探讨。<br />对于大型网站来说，前面提到的每个方法可能都会被同时使用到，我这里介绍得比较浅显，具体实现过程中很多细节还需要大家慢慢熟悉和体会，有时一个很小的squid参数或者apache参数设置，对于系统性能的影响就会很大，希望大家一起讨论，达到抛砖引玉之效。</p>]]></description><category>网站构架</category><comments>http://www.dazix.cn/post/80.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=80</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=80&amp;key=b15fcc5d</trackback:ping></item><item><title>SEO中HTML标签权重</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/79.html</link><pubDate>Sat, 07 Aug 2010 13:57:58 +0800</pubDate><guid>http://www.dazix.cn/post/79.html</guid><description><![CDATA[<p>HTML标签权重分值排列</p><p>内部链接文字：10分</p><p>标题title：10分</p><p>域名：7分</p><p>H1，H2字号标题：5分</p><p>每段首句：5分</p><p>路径或文件名：4分</p><p>相似度（关键词堆积）：4分</p><p>每句开头：1.5分</p><p>加粗或斜体：1分</p><p>文本用法（内容）：1分</p><p>title属性：1分 （注意不是title》， 是title属性， 比如a href=&hellip; title=&rdquo;）</p><p>alt标记：0.5分</p><p>Meta描述（Description属性）：0.5分</p><p>Meta关键词（Keywords属性）：0.05分</p><p>SEO优化</p><p><strong>1、 静态页面</strong></p><p>将信息页面和频道、网站首页改为静态页面，有利于搜索引擎更快更好的收录。</p><p><strong>2、 页面标题（Page Title）的关键词优化</strong></p><p>必须列出信息的标题、网站的名称以及相关关键字。</p><p><strong>3、 Meta标签的优化（过去搜索引擎优化的重要手法，现在已经不是关键因素，但仍不可忽略）</strong></p><p>主要包括：Meta description、Meta keywords的设置。<span style="color: #3366ff">关键字密度要适度，通常为2%-8%</span>，也就是说你的关键字必须在页面中出现若干次，或者在搜索引擎允许的范围内，要避免堆砌关键字。</p><p><strong>4、针对Google制作Sitemaps</strong></p><p>Google的sitemaps是对原来robots.txt的扩展，它使用 XML格式来记录整个网站的信息并供Google读取，使搜索引擎能更快更全面的收录网站的内容。<br />可以使用Google提供的Sitemap生成器制 作（需要技术人员制作）：<a href="https://www.google.com/webmasters/tools/dashboard?hl=zh-CN">https://www.google.com/webmasters/tools/dashboard?hl=zh-CN</a> 也可以由技术部人员制作更全面的Sitemaps。</p><p><strong>5、 图片的关键词优化</strong></p><p>图片的替代关键词也不要忽略，其另外一方面的作用是，当图片不能显示的时候，可以给访问者一个替代解释语句。</p><p><strong>6、 避免表格的嵌套</strong></p><p>目前本站的表格嵌套太多，<span style="color: #3366ff">搜索引擎通常只读取3个&lt;table&gt;的嵌套，如果太多，会造成部分有用信息没有被检测到。</span>　　来源：一起舞论坛</p><p><strong>7、 采用web标准进行网站重构</strong></p><p>尽量使网站的代码符合W3C的HTML 4.0或XHTML 1.0规范。通过XML＋CSS技术进行网站重构，减少不表格及冗余代码，提高网站页面的扩展性，兼容性，可以使更多浏览器支持。</p><p><strong>8、 网站结构的扁平化规划</strong></p><p>目录和内容结构最好不要超过3层，如果有超过三层的，最好通过子域名来调整和简化结构层数。另外目录命名的规范做法是使用英文而不是拼音字母</p><p><strong>9、 页面容量的合理化</strong></p><p>合理的页面容量会提升网页的显示速度，增加对搜索引擎蜘蛛程序的友好度。同时建议js脚本和css脚本尽量用链接文件</p><p><strong>10、外部文件策略</strong></p><p>把javascript文件和css文件分别放在js和css外部文件中。这样做的好处是把重要的页面内容放到页面顶部，同时能缩小文件大小。有利于搜索引擎快速准确地抓取页面　　重要内容。其他的字体（FONT）和格式化标签也尽量少用，建议采用CSS定义。</p><p><strong>11、外部链接</strong></p><p>尽可能多地让其他跟你主题相关的网站链接本站，同时尽量同PR值更高的网站进行相互链接。如果网站提供与主题相关的导出链接，被搜索引擎认为有丰富 的与主题相关的内容，也有利于排名，例如各类招商网站、投融资网站的概念。另外避免链接不顾质量的大面积撒网，对搜索引擎而言宁少要精。</p><p><strong>12、网站地图</strong></p><p>网站自身的网站地图是搜索引擎更全面索引收录你的网站的重要因素。建议制作基于文本的网站地图，内含网站所有栏目、子栏目。网站地图的三大因素：文本、链接、关键词，都极其有利于搜索引擎抓取主要页面内容。特别是动态生成目录网站尤其需要 创建网站地图。</p><p><strong>13、图像热点</strong></p><p>除AltaVista、Google明确支持图像热点链接外，其他引擎暂不支持。当&ldquo;蜘蛛&rdquo; 程序遇到这种结构时，就会无法辨别。因此尽量不要设置图像热点（Image Map）链接。</p><p><strong>14、FLASH应用</strong></p><p>FLASH由于不含文字信息，应尽量用于功能展示和广告，少用于网站栏目和页面。</p><p><strong>15、JS脚本</strong></p><p><span style="color: #3366ff">在不支持JS脚步的浏览器里 &lt;NOSCRIPT&gt; 标签会起到重要提示作用，对搜索引擎的Spider搜索也会有帮助。</span></p><p><strong>16、Frame框架</strong></p><p>Frame标签会被搜索忽略，尽量少用，<span style="color: #3366ff">如果一定要用，则应正确使用Noframe标签， 在&lt;Noframe&gt;...&lt;/Noframe&gt;区域中包含指向frame页的链接或带有关键词的描述文本，同时在框架以外的区域也出现关键词文本。</span></p><p><strong>17、资讯的内部链接</strong></p><p>有助提高网站排名和PR值，例如相关资讯、推荐资讯等</p>]]></description><category>SEO优化</category><comments>http://www.dazix.cn/post/79.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=79</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=79&amp;key=c767e944</trackback:ping></item><item><title>在服务端合并和压缩JavaScript和CSS文件</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/78.html</link><pubDate>Sat, 07 Aug 2010 12:54:33 +0800</pubDate><guid>http://www.dazix.cn/post/78.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Web性能优化最佳实践中最重要的一条是<font color="#2970a6">减少HTTP请求</font>，它也是<font color="#2970a6">YSlow</font>中比重最大的一条规则。减少HTTP请求的方案主要有合并JavaScript和CSS文件、<font color="#2970a6">CSS Sprites</font>、<font color="#2970a6">图像映射（Image Map）</font>和<font color="#2970a6">使用Data URI来编码图片</font>。CSS Sprites和图像映射现在已经随处可见了，但由于IE6和IE7不支持Data URI以及性能问题，这项技术尚未大量使用。目前大部分网页中的JavaScript和CSS文件数量和开发时一致，少量的网页会根据实际情况采取本地合并，这些合并中相当多的是有选择地手动完成，每次新的合并都需要重新在本地完成并上传到服务器，比较的随意和繁琐，同样文件的压缩也有类似的情况。而利用服务端的合并和压缩，我们就可以按照开发的逻辑尽可能让文件的颗粒度变小，利用网页中URL的规则来自动实现文件的合并和压缩，这会相当的灵活和高效。</p><h3>YUI Combo Handler</h3><p><a href="http://www.yuiblog.com/blog/2008/07/16/combohandler/"><font color="#2970a6">2008年7月YUI Team宣布在YAHOO! CDN上对YUI JavaScript组件提供Combo Handler服务</font></a>。Combo Handler是Yahoo!开发的一个Apache模块，它实现了开发人员简单方便地通过URL来合并JavaScript和CSS文件，从而大大减少文件请求数。比如在页面上使用<a href="http://developer.yahoo.com/yui/editor/"><font color="#2970a6">YUI2的Rich Text Editor组件</font></a>需要引入多个JavaScript文件，常用方式如下：</p><blockquote>&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js&quot;&gt;&lt;/script&gt; <br />&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/container/container_core-min.js&quot;&gt;&lt;/script&gt; <br />&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/menu/menu-min.js&quot;&gt;&lt;/script&gt; <br />&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/element/element-min.js&quot;&gt;&lt;/script&gt; <br />&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/button/button-min.js&quot;&gt;&lt;/script&gt; <br />&lt;script src=&quot;http://yui.yahooapis.com/2.8.0r4/build/editor/editor-min.js&quot;&gt;&lt;/script&gt; </blockquote><p>而使用Combo Handler服务之后，则上述的代码可以写为：</p><blockquote>&lt;script src=&quot;http://yui.yahooapis.com/combo?<br />2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js&amp;<br />2.8.0r4/build/container/container_core-min.js&amp;<br />2.8.0r4/build/menu/menu-min.js&amp;<br />2.8.0r4/build/element/element-min.js&amp;<br />2.8.0r4/build/button/button-min.js&amp;<br />2.8.0r4/build/editor/editor-min.js&quot;&gt;&lt;/script&gt; </blockquote><p>除了代码的可读性稍稍有一点点降低外，使用Combo Handler服务大大的降低了HTTP请求数，同时也减少了URL代码量，这对于Web性能优化来讲至关重要。所以，随后<a href="http://yuiblog.com/blog/2008/10/17/loading-yui/"><font color="#2970a6">YUI从2.6.0开始，其核心组件YUI Loader内置了Combo Handling功能</font></a>，即使用YUI Loader时，通过配置<code>combine</code>属性就可以把要加载的多个JavaScript或CSS文件按照使用Combo Handler服务的形式合并起来，这时只要静态文件的服务器支持Combo Handler就行了。在YUI中当<code>combine</code>配置为<code>true</code>时，CDN默认是使用Yahoo! CDN（http://yui.yahooapis.com），所以没有任何问题。这正是YUI最迷人的地方之一。</p><p>遗憾的是http://yui.yahooapis.com在中国的速度并不佳，本来中国雅虎提供了http://cn.yui.yahooapis.com/ ，但尚未提供Combo Handler服务，同时因种种原因，其更新在<a href="http://cn.yui.yahooapis.com/2.7.0/build/yahoo-event-dom/yahoo-event-dom.js"><font color="#2970a6">YUI 2.7.0</font></a>之后就停滞了。更糟糕的是Yahoo!开发的支持Combo Handler的Apache模块虽然据传有计划开源，但至少现在依旧是私有技术，要使用就需要自己实现类似功能，所以国内类似技术的应用并不太多。</p><h3>Minify</h3><p>在Google Code上有一个PHP的开源项目叫<a href="http://code.google.com/p/minify/"><font color="#2970a6">Minify</font></a>，它可以合并、精简、Gzip压缩和缓存JavaScript和CSS文件。其文件合并功能就非常类似Combo Handler，只不过URL的语法稍微有点不同。如果Yahoo! CDN安装了Minify，那么上面Rich Text Editor的代码用Minify的默认格式来写就是：</p><blockquote>&lt;script src=&quot;http://yui.yahooapis.com/min/f=<br />2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js,<br />2.8.0r4/build/container/container_core-min.js,<br />2.8.0r4/build/menu/menu-min.js,<br />2.8.0r4/build/element/element-min.js,<br />2.8.0r4/build/button/button-min.js,<br />2.8.0r4/build/editor/editor-min.js&quot;&gt;&lt;/script&gt; </blockquote><p>本地使用Minify很简单，只需要Apache + PHP环境就OK了：</p><ol>    <li>安装好Apache + PHP (<a href="http://dancewithnet.com/2005/09/16/install-apache-and-php-in-windows/"><font color="#2970a6">Windows</font></a>、<a href="http://dancewithnet.com/2010/05/09/run-apache-php-mysql-in-mac-os-x/"><font color="#2970a6">Mac</font></a>)。</li>    <li>下载<a href="http://code.google.com/p/minify/downloads/list"><font color="#2970a6">Minify源码</font></a>，解压，然后把min文件夹复制到指定的根目录下，比如localhost。这时URL的写法大概是<code>http://localhost/min/f=...</code></li>    <li><a href="http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x/"><font color="#2970a6">启用Apache的Mod Rewrite模块</font></a>，然后在min文件夹下<a href="http://www.zendstudio.net/archives/create-htaccess-file-in-windows/"><font color="#2970a6">新建.htaccess文件</font></a>，并添加如下<a href="http://code.google.com/p/minify/source/browse/branches/2.1.4/min/.htaccess"><font color="#2970a6">Rewrite规则</font></a>： <blockquote>&lt;IfModule mod_rewrite.c&gt;<br />    RewriteEngine on<br />    #You may need RewriteBase on some servers<br />    #RewriteBase /min<br />    #rewrite URLs like &quot;/min/f=...&quot; to &quot;/min/?f=...&quot;<br />    RewriteRule ^([bfg]=.*) index.php?$1 [L,NE]<br />    &lt;/IfModule&gt; </blockquote>    <p>如果不启用Mod Rewrite功能，则Minify的URL会类似http://localhost/min/index.php?f=&hellip;，这<a href="http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/"><font color="#2970a6">对客户端和中间服务器的缓存不利</font></a>，而启用了Mod Rewrite之后的URL类似http://localhost/min/f=&hellip;，不仅解决前面问题且更短。</p>    </li>    <li>配置Minify，即编辑min/config.php文件 <blockquote>$min_enableBuilder = true;<br />    //本地使用时可以通过http://dwn/min/builder/来进行配置，外部使用时请设置为false<br />    //$min_cachePath = 'c:\\WINDOWS\\Temp';<br />    //$min_cachePath = '/tmp';<br />    //$min_cachePath = preg_replace('/^\\d+;/', '', session_save_path());<br />    //选择其一，去掉注释设置临时缓存目录，这样可以减少程序运算提高性能<br />    <br />    $min_serveOptions['maxAge'] = 1800;<br />    //设置浏览器缓存的时间，为了提升性能建议这个时间设置尽可能的长，比如315360000<br />    //如果需要在不改变URL的情况下更新静态文件，可以采用类似时间戳的方式，<br />    //如http://localhost/min/f=example/example.css&amp;20100601.css<br />    //建议静态文件采用版本号管理，每次修改都需要升级版本号，这样就无需时间戳了，<br />    //如http://localhost/min/f=example/example_1_0_1.css<br />    <br />    $min_serveOptions['minApp']['maxFiles'] = 10;<br />    //参数f获取参数的个数，即合并的文件个数，这个数量完全可以增大，比如50，<br />    //当然可能会遇到URL最大值问题，后会有解释 </blockquote></li>    <li>使用Minify比如，有两个JavaScript文件，<code>http://localhost/example/a.js,http://localhost/example/b.js</code>，<br />    那么使用Minify合并的URL是<code>http://localhost/min/f=/example/a.js,/example/b.js</code>，<br />    直接把这个URL放到页面中就可以使用了。</li></ol><p>实际上Minify不仅仅实现了合并功能，同时默认在合并的同时还会对文件进行精简压缩，如果你在本地本身就对文件进行压缩了，<br />比如使用<a href="http://yuilibrary.com/projects/yuicompressor/"><font color="#2970a6">YUI Compressor</font></a>，那么可以在config.php中进行如下设置取消Minify的压缩以提升性能：</p><blockquote>$min_serveOptions['minifiers']['application/x-javascript'] = '';<br />$min_serveOptions['minifiers']['text/css'] = ''; </blockquote><p>如果服务端支持Java，那么也可以<a href="http://code.google.com/p/minify/wiki/CookBook#YUICompressor"><font color="#2970a6">对Minify进行简单配置而实现利用YUI Compressor压缩JavaScript和CSS文件</font></a>。</p><p>直接在服务端进行合并和压缩，这非常的灵活，也极大的减轻了前端开发成果的部署过程，真使事半功倍。更多配置请看<a href="http://code.google.com/p/minify/wiki/CookBook"><font color="#2970a6">Minify CookBook</font></a>和<a href="http://code.google.com/p/minify/w/list"><font color="#2970a6">Wiki</font></a></p><h3>在YUI3中使用Minify</h3><p>在YUI2中，合并机制只支持库本身的文件，自定义的文件会单独一一加载。从YUI3开始，模块变得更小，这样就导致使用合并时URL会变长，但<a href="http://support.microsoft.com/kb/208427"><font color="#2970a6">在IE下URL的最大值是2083</font></a>，Apache默认的URL最大值是8192，所以当URL在对应浏览器下超出最大值时，YUI3会自动根据浏览器判断进行拆分成多个合并的URL，并且还提供了<a href="http://developer.yahoo.com/yui/3/api/Loader.html#property_maxURLLength"><code><font color="#2970a6">maxURLLength</font></code></a>来设置最大值。而从YUI3.1.0开始，不仅仅支持自定义文件的合并，还支持可以使用多个提供合并服务的CDN，即可以对YUI组件使用http://yui.yahooapis.com这个CDN，其余文件使用其他支持合并的CDN，这样非常的实用、方便和灵活。示例<a href="http://dancewithnet.com/lab/2010/yui3-loader-and-minify/"><font color="#2970a6">在YUI3中使用Minify</font></a>就说明了这点。</p><p>由于YUI默认URL的合并形式和Minify的不相同，所以在YUI实例化时需要利用正则替换来实现YUI3支持Minify的URL合并形式，但这种方式既不灵活，且有风险，不友好又效率低。比较简单的方式是直接修改YUI 3的源码，如示例<a href="http://dancewithnet.com/lab/2010/yui3-loader-and-minify/fixed.html"><font color="#2970a6">在修改后的YUI3中使用Minify</font></a>。同时，YUI 3.1.*的版本有一个bug，即同时合并JavaScript和CSS时，较短的那个URL结尾处多一个&amp;符号，如<a href="http://dancewithnet.com/lab/2010/yui3-loader-and-minify/"><font color="#2970a6">示例在YUI3中使用Minify</font></a>中：</p><blockquote>http://yui.yahooapis.com/combo?3.1.1/build/widget/assets/skins/sam/widget.css&amp;3.1.1/build/console/assets/skins/sam/console.css&amp;<br />http://dancewithnet.com/min/b=yui&amp;f=3.1.1/tabview/assets/skins/sam/tabview.css&amp; </blockquote><p>这两种都可以使用，虽然<a href="http://dancewithnet.com/2009/11/05/a-little-practice-about-js-lazy-load/#comment-219359"><font color="#2970a6">在早期的IE浏览器版本（如IE6）中会有无法解析的风险</font></a>，且影响某些特定情况下的缓存，但当使用修改后的YUI时，合并的URL变成类似<code>/min/b=yui&amp;f=3.1.1/tabview/assets/skins/sam/tabview.css,</code>的样子，就会出现bug了。<br />对于YUI的Combo Handler来说这是一个小bug，所以<a href="http://yuilibrary.com/projects/yui3/ticket/2528680"><font color="#2970a6">YUI3把这个bug设置为P5</font></a>。但当我们改造YUI3来更好的支持Minify时，还要解决这个问题，<br />具体方案请看示例<a href="http://dancewithnet.com/lab/2010/yui3-loader-and-minify/fixed.html"><font color="#2970a6">在修改后的YUI3中使用Minify</font></a>。</p><h3>在CDN上使用Minify</h3><p>CDN的全称是Content Delivery Network，即内容分发网络。其最常应用就是通过位于不同地理位置的服务器把静态资源部署到用户最近的边缘，这样能有效解决Web服务中大量静态资源的速度和性能问题。由于实施成本比较高，所以在实际的应用中，大型公司一般会组建自己的CDN，而小型公司只能租借第三方的CDN，但不管怎样这两种方式都不会影响在服务端实施合并和压缩程序。一般情况下，静态资源也并不是直接上传到CDN，而是先传到一台后台服务器，然后各地CDN的前端Cache服务器按需索取。YUI CDN的Combo Handler就是部署在其后台服务器上的，Minify也应如此。简单图示如下：</p><p><img title="cdn-and-minify" alt="" width="542" height="160" src="http://img.fovweb.com/2010/06/e328_d6a0_cdn-and-minify.png" /></p><p>当一个资源请求到CDN时，CDN会先检查本地是否存在这个资源，如果有则会直接返回该资源，如果没有则会请求其后台服务器，后台服务器会依据资源URL的信息进行相应的处理，然后返回给CDN，CDN就会存储这个资源，再次出现这个资源请求时就无需请求后台服务器了。所以，虽然合并特别是压缩JavaScript和CSS文件是消耗时间的，但是由于只需要第一次，并且第一次基本上由我们自己访问掉（我们可以创建程序自动进行一次访问来保证，实际上图片优化也可以采用这种方式），所以基本上很安全。这正是目前在<a href="http://koubei.com/"><font color="#2970a6">口碑网</font></a>实施的JavaScript和CSS合并方案，在<a href="http://www.slideshare.net/kavenyan/ss-2755539"><font color="#2970a6">第4届D2的《前端性能优化和自动化》</font></a>中也介绍了它。</p><p>来源：<a href="http://ued.koubei.com/?p=1193">http://ued.koubei.com/?p=1193</a></p>]]></description><category>网站优化</category><comments>http://www.dazix.cn/post/78.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=78</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=78&amp;key=121bf970</trackback:ping></item><item><title>intitle,inurl,intext,site,双引号&amp;quot;&amp;quot;,加减号+-,filetype的用法</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/77.html</link><pubDate>Mon, 28 Jun 2010 16:17:53 +0800</pubDate><guid>http://www.dazix.cn/post/77.html</guid><description><![CDATA[<p><strong>intitle</strong><br /><wbr></wbr><wbr></wbr><wbr></wbr>&nbsp;&quot;intitle&quot;的标准搜索语法是&quot;关键字 intitle:关键字&quot;，比如搜索&quot;商业 intitle:超级女声&quot;（冒号请在英文状态下输入），那么百度就只会在所有标题中包含&quot;超级女声&quot;这个词的网页中寻找出现了&quot;商业&quot;这个关键字的结果。<br /><br /><strong>site<br /></strong><wbr></wbr>把搜索范围限定在特定站点中&mdash;&mdash;site有时候，您如果知道某个站点中有自己需要找的东西，就可以把搜索范围限定在这个站点中，提高查询效率。使用的方式，是在查询内容的后面，加上&ldquo;site:站点域名&rdquo;。例如，天空网下载软件不错，就可以这样查询：msn site:skycn.com 注意，&ldquo;site:&rdquo;后面跟的站点域名，不要带&ldquo;<a target="_blank" href="http:///">http://</a>&rdquo;；另外，site:和站点名之间，不要带空格。</p><p><wbr></wbr><strong>intext--正文检索</strong><br />和标题搜索相比，正文检索的搜索目标更明确，而且适合于一次性搜索同一主题的不同分支内容 最简单的例子，我们想要找到GeForce 7800的3Dmark03以及3Dmark05测试成绩，就可以利用intext指令：intext:&quot;GeForce 7800&quot;+3Dmark03+3Dmark05 搜索结果将直接把你带入GeForce 7800的3DMark测试结果页面</p><p><strong>Inurl--直攻URL链接</strong><br />inurl是In-系指令中最强大的一个，换句话说，这个高级指令能够直接从网站的URL入手挖掘信息，只要略微了解普通网站的URL格式，就可以极具针对性地找到你所需要的资源－－甚至隐藏内容。inurl的应用范围十分广泛，在此我们仅抛砖引玉<br />A.利用inurl搜图片－－inurl:photo，搜索所有包含图片的关键词页面结果，如果说Google图象搜索侧重于展示图片，inurl搜索则让你在看到图片之前了解到页面大致的文字内容，更方便判断。利用这一指令，你往往能够找到关键词的组图内容（指令中的photo也可以替代为picture、image等）<br />例：搜索&ldquo;乔丹经典&rdquo;图片<br />输入：乔丹经典 inurl:photo，首个搜索结果上便提供了所有值得收藏的乔丹瞬间</p><p><strong>&quot;&quot;双引号</strong><br />使用双引号(&quot;&quot;)进行词组检索 利用双引号查询完全符合关键字串的网站。例如：输入&ldquo;中国女足&rdquo;找出包含&ldquo;中国女足&rdquo;的网站，而不会找出包含&ldquo;中国男足&rdquo;的网站。<br /><br /><strong>使用&quot;＋&quot;和&quot;－&quot;进行限制性检索</strong><br />当我们需要检索结果中包含有两个或两个以上的内容，这时我们可以把几个条件之间用&ldquo;＋&ldquo;号连接。这样关键字串一定要出现在结果中，例如想查询那英的歌曲《征服》，你可以输入&ldquo;那英＋征服&rdquo;。在查询某个题材时并不希望在这个题材中包含另一个题材，这时你就可以使用&ldquo;－&rdquo;号。例如你想查找&ldquo;水果&rdquo;，但又不希望其中包含&ldquo;苹果&rdquo;。你就可以输入&ldquo;水果－苹果&rdquo;。减号的作用就在于可以使搜索的结果中反映你的需求，让你无须为大量无关的搜索结果而头疼。<br /><br /><strong>仅搜索网站的网址&nbsp;</strong><wbr></wbr><strong> &quot;u:&quot;</strong><br />在关键字前加&ldquo;u:&rdquo;，搜索引擎仅会查询网址，例如在网页中的搜索框中输入&ldquo;u：yahoo.com&rdquo;，单击&ldquo;搜索&rdquo;按钮，则统一资源定位器中包含&ldquo;yahoo.com&rdquo;字符的网址全部显示出来。<br /><br /><strong>仅搜索网站标题&nbsp;</strong><wbr></wbr><strong> &quot;t:&quot;</strong><br />在关键字前加&ldquo;t:&rdquo;，搜索引擎仅查询网站的名称。例如在网站搜索框中输入&ldquo;t:网络技术&rdquo;，单击&ldquo;搜索&rdquo;按钮，符合搜索条件的网站标题显示出来。</p>]]></description><category>SEO优化</category><comments>http://www.dazix.cn/post/77.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=77</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=77&amp;key=d3a434d1</trackback:ping></item><item><title>&amp;quot;/&amp;quot;应用程序中的服务器错误 System.IO.DirectoryNotFoundException </title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/76.html</link><pubDate>Wed, 19 May 2010 14:51:56 +0800</pubDate><guid>http://www.dazix.cn/post/76.html</guid><description><![CDATA[<h2><i>未找到路径&ldquo;C:\&rdquo;的一部分。</i></h2><p><font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "><b>说明: </b>执行当前 Web 请求期间，出现未处理的异常。请检查堆栈跟踪信息，以了解有关该错误以及代码中导致错误的出处的详细信息。 <br /><br /><b>异常详细信息: </b>System.IO.DirectoryNotFoundException: 未找到路径&ldquo;G:\&rdquo;的一部分。<br /><br /><b>源错误:</b><table width="100%" bgcolor="#ffffcc">    <tbody>        <tr>            <td><code>执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。</code></td>        </tr>    </tbody></table><br /><b><font face="Verdana">堆栈跟踪:</font></b> <br /><table width="100%" bgcolor="#ffffcc">    <tbody>        <tr>            <td><code>            <pre>[DirectoryNotFoundException: 未找到路径&ldquo;G:\&rdquo;的一部分。]<br />&nbsp;&nbsp; System.IO.__Error.WinIOError(Int32 errorCode, String str) +287<br />&nbsp;&nbsp; System.IO.Directory.InternalCreateDirectory(String fullPath, String path) +489<br />&nbsp;&nbsp; System.IO.Directory.CreateDirectory(String path) +195<br />&nbsp;&nbsp; DvNews.Admin.BasePage.x7a42976890112af7(String xcc73173c60d9e1a3) +1166<br />&nbsp;&nbsp; DvNews.Admin.MakeStatic.btSort_OnClick(Object xe0292b9ed559da7d, EventArgs x09164e3c6108269f) +318<br />&nbsp;&nbsp; System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108<br />&nbsp;&nbsp; System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57<br />&nbsp;&nbsp; System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18<br />&nbsp;&nbsp; System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33<br />&nbsp;&nbsp; System.Web.UI.Page.ProcessRequestMain() +1292<br /></pre>            </code></td>        </tr>    </tbody></table><br /></font><p>解决方法：<br />分析： 首先这是对该分区没有访问权限 需求给它分配权限<br />方法：&nbsp;1.&nbsp;&nbsp;&nbsp;找到IIS 选择网络服务&nbsp;&nbsp;<br /><img border="0" src="http://images.cnblogs.com/cnblogs_com/qiao198/IIS1.GIF" alt="" />&nbsp; <br />2. 找该分区 选中属性－－安全<br /><img border="0" src="http://images.cnblogs.com/cnblogs_com/qiao198/G1.GIF" alt="" /><br />3.找到添加按钮&nbsp;&nbsp; 选中SERVICE&nbsp; 并 确定<br /><img border="0" src="http://images.cnblogs.com/cnblogs_com/qiao198/G2.GIF" alt="" /><br />4.加SERVICE后， 点高级 弹出以下画面&nbsp; 然后对SERVICE 分配相就的权限 不要全选<br /><img border="0" src="http://images.cnblogs.com/cnblogs_com/qiao198/G3.GIF" alt="" /><br />最后按确定 就这样解决<br />&nbsp;</p></p><hr color="#c0c0c0" size="1" width="100%" />]]></description><category>C#/Asp.net</category><comments>http://www.dazix.cn/post/76.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=76</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=76&amp;key=6df5d7f9</trackback:ping></item><item><title>谷歌搜索引擎优化的十七个注意点(百度参考)</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/75.html</link><pubDate>Fri, 23 Apr 2010 17:16:54 +0800</pubDate><guid>http://www.dazix.cn/post/75.html</guid><description><![CDATA[<p>1、<strong>网站链接很大一部分是互惠链接</strong>.互惠链接在google中的权值已经越来越小了,而且如果网站上太多的互惠链接肯定会给google等搜索引擎不良印象.</p><p>2、<strong>缺乏高质量的导入链接</strong>.高质量的外部链接对于提高网站的权重和信任度有很高的作用.如果网站缺乏高质量外部链接,可能google会认为这个站点缺乏质量以及权威度.</p><p>3、<strong>大部分的外部链接与你的站点缺乏相关性</strong>.在搜索引擎优化过程的外部链接建设中,链接的相关性是很被重视的.</p><p>4、<strong>没有导出链接</strong>.没有导入链接会影响网站评分,同样一个站点如果没有导出链接的话,那也是有问题的.试想下一个闭关锁国的网站又怎么会是什么高质量的网站呢?</p><p>5、<strong>链接到低质量网站</strong>.链接到低质量站点甚至一些垃圾站点都会严重影响网站在google中的表现,甚至可能遭到被K的惩罚.</p><p>6、<strong>大部分的导出链接被加上Nofollow属性</strong>.(此条对博客评论和论坛不适用,这些地方应该都加上Nofollow的).</p><p>7、<strong>网站缺乏连续的话题</strong>.网站内容的连续性在google中也很重要.什么都谈什么都有的网站必然不会是个精品网站,而且其原创率必然很受怀疑.</p><p>8、<strong>过多的网页都是重复内容</strong>.虽然有人说复制内容不会影响到网站的关键词排名和收录,但是过多的重复内容肯定不是什么好事.</p><p>9、<strong>太多的页面都缺乏内容</strong>.短篇幅的文章必然涉及到内容质量高低的问题.每个页面都是几句话内容就结束,并不是一个高质量网站的表现.</p><p>10、<strong>标题重复</strong>.应该来说注意SEO的人都不会犯这样的低级错误了!</p><p>11、<strong>meta keywords列表里超过5个关键词</strong>.(应该很多网站的meta keywords里都是设置比较多的关键词的吧,尤其是首页)</p><p>12、<strong>每页的meta description都是相同的</strong>.相同的meta描述也不是个SEOer会做的.wordpress的meta优化可以参考这里和这里.</p><p>13、<strong>图片的alt标签太长</strong>.对于图片的alt描述几个词语就足够了,过多的描述可能是堆砌关键词的表现.</p><p>14、<strong>关键词填充</strong>.这个没什么好说的.要注意页面的关键词比率,但是也不用太刻意.</p><p>15、<strong>隐藏文本或者类似隐藏文本</strong>.隐藏文本在几大搜索引擎中都是绝对被K的理由.</p><p>16、<strong>隐藏链接或者类似隐藏链接</strong>.简单的说就是不要让用户分辨不出你的链接而误点.</p><p>17、<strong>太多的down机</strong>.网站和服务器的稳定对于网站被搜索引擎收录以及关键词排名都是很重要的.</p><p>作为一个站长,或者说希望网站有较好表现的站长都是应该注意这些因素的.如果网站中涉及到了搜索引擎惩罚规定的,那基本就不用去考虑网站的关键词表现了.防微杜渐,把好网站自身的质量关,避免网站隐患的存在才是网站立足搜索引擎的基本.对真正的成功者来说,不论他的生存条件如何,都不会自我磨灭.</p><p>&nbsp;</p>]]></description><category>SEO优化</category><comments>http://www.dazix.cn/post/75.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=75</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=75&amp;key=7f9a2d30</trackback:ping></item><item><title>SQL数据库引擎错误严重性说明</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/74.html</link><pubDate>Fri, 09 Apr 2010 14:51:33 +0800</pubDate><guid>http://www.dazix.cn/post/74.html</guid><description><![CDATA[<style>#table1 td{border:1px solid #ccc}</style><br/><p><table id="table1" border="0" cellspacing="0" cellpadding="0">    <tbody>        <tr>            <td style="width: 65px">严重级别</td>            <td>说明</td>        </tr>        <tr>            <td>            <p>0-9</p>            </td>            <td>            <p>返回不太严重的状态信息或报表错误的信息性消息。数据库引擎不会引起严重级别为 0 到 9 的系统错误。</p>            </td>        </tr>        <tr>            <td>            <p>10</p>            </td>            <td>            <p>返回不太严重的状态信息或报表错误的信息性消息。由于兼容性原因，数据库引擎在将错误信息返回到调用应用程序前将严重性级别从 10 转换为 0。</p>            </td>        </tr>        <tr>            <td>            <p>11-16</p>            </td>            <td>            <p>指示可由用户纠正的错误。</p>            </td>        </tr>        <tr>            <td>            <p>11</p>            </td>            <td>            <p>指示给定的对象或实体不存在。</p>            </td>        </tr>        <tr>            <td>            <p>12</p>            </td>            <td>            <p>特殊严重性，用于因特殊查询提示而不使用锁定的查询。在某些情况下，因为没有用锁保证一致性，由这些语句所执行的读取操作会产生不一致的数据。</p>            </td>        </tr>        <tr>            <td>            <p>13</p>            </td>            <td>            <p>指示事务死锁错误。</p>            </td>        </tr>        <tr>            <td>            <p>14</p>            </td>            <td>            <p>指示安全性相关错误，如权限被拒绝。</p>            </td>        </tr>        <tr>            <td>            <p>15</p>            </td>            <td>            <p>指示 Transact-SQL 命令中的语法错误。</p>            </td>        </tr>        <tr>            <td>            <p>16</p>            </td>            <td>            <p>指示可由用户纠正的常规错误。</p>            </td>        </tr>        <tr>            <td>            <p>17-19</p>            </td>            <td>            <p>指示无法由用户纠正的软件错误。请将问题通知系统管理员。</p>            </td>        </tr>        <tr>            <td>            <p>17</p>            </td>            <td>            <p>指示语句导致 SQL Server 用尽资源（如数据库的内存、锁或磁盘空间）或超出了系统管理员设置的某些限制。</p>            </td>        </tr>        <tr>            <td>            <p>18</p>            </td>            <td>            <p>指示数据库引擎软件中有问题，但可完成执行语句，并且可维护到数据库引擎实例的连接。每当出现严重级别为 18 的消息时均应通知系统管理员。</p>            </td>        </tr>        <tr>            <td>            <p>19</p>            </td>            <td>            <p>指示超出了不可配置的数据库引擎限制并且当前批处理已终止。严重级别为 19 或更高的错误消息将停止执行当前的批处理。严重级别为 19 的错误很少，必须由系统管理员或主要支持提供商更正。当引发严重级别为 19 的消息时，请与系统管理员联系。严重级别从 19 到 25 的错误消息均写入错误日志。</p>            </td>        </tr>        <tr>            <td>            <p>20-25</p>            </td>            <td>            <p>指示系统问题并且是致命错误，这意味着正在执行某语句或批处理的数据库引擎任务已停止运行。此任务记录了所发生事件的有关信息，然后终止。在大多数情况下，应用程序与数据库引擎实例的连接也可能终止。如果发生这种情况，该问题可能使应用程序无法重新连接。<br />            此范围内的错误消息可以影响同一数据库中所有正在访问数据的进程，并可能指示数据库或对象已损坏。严重级别从 19 到 25 的错误消息均写入错误日志。</p>            </td>        </tr>        <tr>            <td>            <p>20</p>            </td>            <td>            <p>指示语句遇到了问题。由于该问题只影响了当前任务，数据库本身未必已经损坏。</p>            </td>        </tr>        <tr>            <td>            <p>21</p>            </td>            <td>            <p>指示遇到了影响当前数据库中所有任务的问题，但数据库本身未必已经损坏。</p>            </td>        </tr>        <tr>            <td>            <p>22</p>            </td>            <td>            <p>指示消息中所指定的表或索引因软件或硬件问题而损坏。<br />            很少发生严重级别为 22 的错误。如果发生这种错误，请运行 DBCC CHECKDB 以确定数据库中的其他对象是否也已损坏。这种问题可能只是出现在缓存中而不存在于磁盘本身。如果发生此错误，请重新启动数据库引擎实例更正此问题。若要继续工作，则必须重新连接到数据库引擎实例；否则，请使用 DBCC 修复该问题。在某些情况下，可能需要还原数据库。<br />            如果重新启动数据库引擎的实例不能解决此问题，那么问题就是出在磁盘上。有时，销毁错误消息中指定的对象可以解决此问题。例如，如果消息报告数据库引擎的实例在非聚集索引中发现了长度为 0 的行，则请删除该索引并重建。</p>            </td>        </tr>        <tr>            <td>            <p>23</p>            </td>            <td>            <p>指示整个数据库的完整性因硬件或软件问题而出现问题。<br />            很少发生严重级别为 23 的错误。如果发生这种错误，请运行 DBCC CHECKDB 以确定损坏的程度。这种问题可能只是出现在缓存中而未出现在磁盘本身。如果发生此错误，请重新启动数据库引擎实例更正此问题。若要继续工作，则必须重新连接到数据库引擎实例；否则，请使用 DBCC 修复该问题。在某些情况下，可能需要还原数据库。</p>            </td>        </tr>        <tr>            <td>            <p>24</p>            </td>            <td>            <p>指示介质故障。系统管理员可能需要还原数据库。您可能还需要致电硬件供应商。</p>            </td>        </tr>    </tbody></table></p>]]></description><category>数据库</category><comments>http://www.dazix.cn/post/74.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=74</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=74&amp;key=87178144</trackback:ping></item><item><title>SQL查询远程数据库(链接服务器)的方法</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/73.html</link><pubDate>Fri, 09 Apr 2010 10:24:38 +0800</pubDate><guid>http://www.dazix.cn/post/73.html</guid><description><![CDATA[<p>--<strong>如果数据少,不经常查询,就直接用:<br /></strong>select * from openrowset('sqloledb','另一个sql服务器名或ip地址';'用户名';'密码',要查询的数据库名..要查询的表名)<br /><br />--<strong>如果数据量大,经常查询,就用链接服务器:</strong><br />--创建链接服务器<br />exec sp_addlinkedserver&nbsp; 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'<br />exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'<br />go<br />--查询示例<br />select * from srv_lnk.数据库名.dbo.表名<br />--导入示例<br />select * into 表 from srv_lnk.数据库名.dbo.表名<br />go<br />--处理完成后删除链接服务器<br />exec sp_dropserver 'srv_lnk','droplogins'<br /><br />应用实例 <br /><strong>打开远程链接<br /></strong>CREATE PROCEDURE dbo.openconn<br />&nbsp;@ser_link varchar(50),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----链接服务器名称<br />&nbsp;@connSource varchar(50),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----sql服务器名或ip地址'<br />&nbsp;@connUID varchar(50),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----用户名<br />&nbsp;@connPWD varchar(50)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;----密码<br />AS<br />BEGIN<br />&nbsp;SET NOCOUNT ON;<br />&nbsp;if not exists(select * from master.dbo.sysservers where srvname=@ser_link)<br />&nbsp;begin<br />&nbsp;&nbsp;exec sp_addlinkedserver @ser_link,' ','SQLOLEDB',@connSource<br />&nbsp;&nbsp;exec sp_addlinkedsrvlogin @ser_link,'false',null,@connUID,@connPWD<br />&nbsp;end<br />END<br /><strong>关闭远程连接<br /></strong>CREATE PROCEDURE dbo.closeconn<br />&nbsp;@ser_link varchar(50),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----链接服务器名称<br />AS<br />BEGIN<br />&nbsp;SET NOCOUNT ON<br />&nbsp;if exists(select * from master.dbo.sysservers where srvname=@ser_link)<br />&nbsp;begin<br />&nbsp;&nbsp;exec sp_dropserver&nbsp; @ser_link, 'droplogins'<br />&nbsp;end<br />END</p>]]></description><category>数据库</category><comments>http://www.dazix.cn/post/73.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=73</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=73&amp;key=d6df135f</trackback:ping></item><item><title>实验田-百度和google的收录现象浅谈[原创]</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/72.html</link><pubDate>Wed, 07 Apr 2010 12:43:46 +0800</pubDate><guid>http://www.dazix.cn/post/72.html</guid><description><![CDATA[<p><strong>我的博客就是我的实验田</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要说明的现象或者问题<br /><strong>1、百度对于URL上的中文参数值支持的不好<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;作为全球最大的搜索引擎在中文的支持上不如google有些说不过去，对于搜索引擎收录，静态页(伪静态)的效果要远远好于动态页面,但是通过很好的优化手段也可以让搜索引擎收录很多带参数的动态页面,具体看现象。通过对百度和google分别执行site:www.dazix.cn命令查询站点的收录情况<br /><strong>百度:----------------------------------------</strong><br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="百度收录" width="400" height="265" src="http://www.dazix.cn/upload/2010/4/201004071253391228.bmp" /><br /><strong>google:--------------------------------------------</strong><br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="google收录" width="400" height="340" src="http://www.dazix.cn/upload/2010/4/201004071253506087.bmp" /><br /><strong>百度收录的都是乱码参数的URL，相反google收录的都是正常参数的URL</strong>。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而且我URL的写法都是经过URL转码的，如 <a href="<#ZC_BLOG_HOST#>search.asp?q=%E6%9C%BA%E5%99%A8%E4%BA%BA"><#ZC_BLOG_HOST#>search.asp?q=%E6%9C%BA%E5%99%A8%E4%BA%BA</a>&nbsp;却被收录成这样，让人费解。<br /><strong>2、百度对内容页的重视程度并没有想象中的那么好<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;都说对于搜索引擎来说百度更重视内容页的收录(尤其原创) ,而google基本注重的是页面抓取的全面性。但是实际的情况呢？以2010年4月7日这个时间点为准，百度收录了160个网页， google收录了730个网页。<br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="百度收录" src="http://www.dazix.cn/upload/2010/4/201004071306347768.bmp" /><br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="google收录" src="http://www.dazix.cn/upload/2010/4/201004071307294324.bmp" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从中可以看到google的收录量是百度的4.5倍，实际的收录效果应该是google是百度收录量的3~5倍，那么这种情况也是正常的，但实际情况正相反。见下图百度的第一页显示的都是动态参数页面，而google的第一页显示则都是内容页面。而我内容页的很多长尾词收索都可以在这两大收索引擎排在首页，甚至于前5名的很好的排位，而且个别内容页也是有PR的说明页面的质量还说的过去，既然google能把检索出来的数据根据级别重新处理，百度怎么没做？不知道出于什么目的，究竟谁对内容更重视！<br /><strong>百度-------------------------------------------</strong><br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="百度收录" width="223" height="400" src="http://www.dazix.cn/upload/2010/4/201004071314586777.bmp" /><br /><strong>google----------------------------------------------</strong><br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="google收录" width="400" height="294" src="http://www.dazix.cn/upload/2010/4/201004071314454682.bmp" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上的收录效果跟我针对搜索引擎的优化也有关系<br />3、<strong>将站点地图sitemap放置于首页的前部做链接(尤其作为第一个链接)对于收录十分有用</strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;百度对于静态的链接farm页还是有兴趣的，比如将站内文章链接、关键词链接、标签链接都写在一个链接页里也可以叫做站点地图sitemap.html，并且把这个页的链接放在首页的第一个链接位置，百度对于这个链接的是很感冒的。效果说明一切目前我博客的总文章数才70左右，百度却有160的收录，google竟达到了730的收录，这都归功于此。要知道在我这样做之前百度收录仅有60左右，google有260左右，效果如何一目了然。当然这么做是有风险的，自己要把握度，过度了真被当成farm可就糟糕啦！<br /><strong>4、百度对于wap wml页面的收录远远不及google</strong> 因此手机搜索上那个更好就更明显了<br /><img style="border-bottom: #ccc 1px solid; border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid" border="1" alt="google收录" width="300" height="250" src="http://www.dazix.cn/upload/2010/4/201004071342134466.bmp" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样的收录google有很多，而百度没有<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本文章为原创文章转载请注明出处&nbsp;</p>]]></description><category>SEO优化</category><comments>http://www.dazix.cn/post/72.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=72</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=72&amp;key=1856f617</trackback:ping></item><item><title>SQL语句执行效率及性能测试</title><author>30538357@qq.com (dazix)</author><link>http://www.dazix.cn/post/71.html</link><pubDate>Wed, 07 Apr 2010 11:51:30 +0800</pubDate><guid>http://www.dazix.cn/post/71.html</guid><description><![CDATA[<p>写程序的人，往往需要分析所写的SQL语句是否已经优化过了，服务器的响应时间有多快，这个时候就需要用到SQL的STATISTICS状态值来查看了。<br />通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE，IO ，TIME。</p><p>SET STATISTICS PROFILE ON：显示分析、编译和执行查询所需的时间（以毫秒为单位）。 <br />SET STATISTICS IO ON：报告与语句内引用的每个表的扫描数、逻辑读取数（在高速缓存中访问的页数）和物理读取数（访问磁盘的次数）有关的信息。 <br />SET STATISTICS TIME ON：显示每个查询执行后的结果集，代表查询执行的配置文件。</p><p>使用方法：打开SQL SERVER 查询分析器，输入以下语句：</p><p>SET STATISTICS PROFILE ON <br />SET STATISTICS IO ON <br />SET STATISTICS TIME ON <br />GO <br />--你的SQL脚本开始<br />SELECT [TestCase] FROM [TestCaseSelect] <br />--你的SQL脚本结束<br />GO<br />SET STATISTICS PROFILE OFF <br />SET STATISTICS IO OFF <br />SET STATISTICS TIME OFF</p><p>效果如图：<br /><img alt="sql执行效率效果图" width="600" height="269" src="http://www.dazix.cn/upload/2010/4/201004071159473870.bmp" /></p><p>另外，也可以通过手工添加语句，计算执行时间来查看执行语句花费了的时间，以判断该条SQL语句的效率如何：<br />declare @d datetime<br />set @d=getdate()<br />--你的SQL脚本开始<br />SELECT [TestCase] FROM [TestCaseSelect] <br />--你的SQL脚本结束<br />select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())</p>]]></description><category>数据库</category><comments>http://www.dazix.cn/post/71.html#comment</comments><wfw:comment>http://www.dazix.cn/</wfw:comment><wfw:commentRss>http://www.dazix.cn/feed.asp?cmt=71</wfw:commentRss><trackback:ping>http://www.dazix.cn/cmd.asp?act=tb&amp;id=71&amp;key=a4da7b0e</trackback:ping></item></channel></rss>
