随笔分类 - 技术相关
摘要:ADO.NET已经为我们提供这样的连接池管理,每个连接字符串产生一个连接池,设置了池的最大连接数,尽管你在DBConnection上使用close或者dispose,连接都没有被关闭,其实是返回到池,由池来管理这些连接,等待下次请求。除非连接池中的连接全部关闭,连接池才从内存中释放。多个不同的的连接字符串,产生多个连接池。如何实现连接池?确保你每一次的连接使用相同的连接字符串(和连接池相同);只有连接字符串相同时连接池才会工作。如果连接字符串不相同,应用程序就不会使用连接池而是创建一个新的连接。优点使用连接池的最主要的优点是性能。创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程
阅读全文
摘要:首先是如何检查SQL的效率. 1.善用 EXPLAIN 设计SQL后,应使用explain命令检查SQL,看是否使用到索引,是否存在filesort,重点检查检索的行数(rows)是否太大。 一般来说. rows<1000,是在可接受的范围内的。 rows在1000~1w之间,在密集访问时可能导致性能问题,但如果不是太频繁的访问(频率低于1分钟一次),又难再优化的话,可以接受,但需要注意观察 rows大于1万时,应慎重考虑SQL的设计,优化SQL,优化db,一般来说不允许频繁运行(频率低于1小时一次)。 rows达到10w级别时,坚决不能做为实时运行的SQL。但导数据场合除外,...
阅读全文
摘要:原文地址:http://www.infoq.com/cn/news/2008/11/rack-cache缓存Web应用的方式有很多,他们通常都很复杂。随着应用基础设施的不断增加,基本的Rails页面缓存的管理变得越发单调乏味了。Rails 2.2通过HTTP headers:last_modified与etag引入了条件性GET。Ryan Tomayko遵循着RFC2616中的internet标准缓存说明引入了Rack::Cache。Rack::Cache是Rack中间件的一部分,它通过基本的存储方式(磁盘、堆及memcache)与针对缓存策略的配置系统实现了RFC2616中的大多数缓存特性。
阅读全文
摘要:通过ConfigurationManager.RefreshSection刷新某一配置节点,我们获取配置值的时候就不需要重启服务,例如:ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。在这个网站上面的http://stackoverflow.com/questions/590791/do-you-have-to-restart-a-windows-service-if-you-change-the-app-config/提供的方案。为什么加了那一行Configurati
阅读全文
摘要:1.容灾能力2.适用场景接下来会有个分布式文件系统的系列。
阅读全文
摘要:版本升级。用户角度上看,客户端升级必须让用户手动下载整个新的安装包覆盖安装,而web的升级无需用户做任何事情。开发角度上看,如果客户端有个小bug需要紧急修复,需要修复完后打包一个完成的安装包,给一个版本号,发布给用户升级。而web只需要修改后台的某些文件,然后传到自己的服务器,用多快速的迭代开发方式都没问题。web没有版本兼容性问题,客户端这个问题就大了。iOS客户端用编译语言,web用脚本语言。编译语言好处:很多错误编译期就知道,不用担心类似写错一个字母导致的问题。iOS客户端开发只能用XCode,无法选用自己喜欢的编辑器。使用脚本语言的web无论前端后端对编辑器的选择都很自由。客户端一碰
阅读全文
摘要:原文链接:http://www.lamppr.com/node/577Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。下面介绍一下如何在一台服务器上配置Nginx + Mongrel cluster。获得Nginx,这里我们假设大家是通过自己编译,并配置了默认的编译的参数,此处使用的是Nginx 0.5.x版。配置Mongrel cluster我们还需要获得Mongrel和其Cluster插件(用来方便得启动多个Mongrel进程),如下通过gem进行安装:gem i -
阅读全文
摘要:主要是针对关系型数据库mysql,以及TTServer mongodb、Redis和memcached进行的对比分析,部分数据来自UC内部的分享。总体对比,从安全级别和读写性能上进行的分析1.内部实现
阅读全文
摘要:多人多个组件的服务器端软件,error logs里面满屏的垃圾或者日志文件混乱,有什么好的方式解决该类问题? 这个现象给开发新功能带来很大困扰,当新代码上线时候,大家会去特别留意有没有新的error log出现,但是结果却是看到一屏一屏的不相干的垃圾干扰分清业务日志和系统错误日志,采用日志分析工具,日志分类 最好的办法还是code review,对于监控,log这都是定位问题最直接的办法,review的时候重点来看看1:统一的错误日志处理模块,并且强制开发人员使用 2:错误信息分级,可参考The BSD syslog Protocol1. 规范日志格式, 2. 日志分级, 3. 日志分区编码规
阅读全文
摘要:1、卸载 mysql(下面的其实有一些是多余的,建议还是按照顺序执行一遍)sudoapt-getautoremove--purgemysql-server-5.0sudoapt-getremovemysql-serversudoapt-getautoremovemysql-serversudoapt-getremovemysql-common清理残留数据dpkg-l|grep^rc|awk'{print$2}'|sudoxargsdpkg-P2、安装 mysqlsudoapt-getinstallmysql-server #中途会让你输入一次root用户密码sudoapt-ge
阅读全文
摘要:一、系统设置工具Munitysudo apt-get install myunity相关文章@Unity 设置工具:MyUnityUbuntu tweak已经发布 0.7.0 正式版本,详情请阅读@IMTX.meConfity:http://sourceforge.net/projects/confity/Unity-2D:2D Unity 配置工具@http://marianochavero.wordpress.com/2012/03/14/small-desktop-configuration-tool-for-ubuntu-unity-2d-12-04-lts/GNOME tweak t
阅读全文
摘要:服务器端的API开发,在移动互联网应用往往是不为重点关注的一方面,而将主要的精力全投向了客户端设计、各种平台的移植、设备的适配。但是实际上,服务器端的API,无论从开发还是维护,在一个依赖服务器端数据的应用中,都占据着非常重要的位置。 服务器端 API 与客户端关系的设计,关系到客户端调用的复杂程度、调用的频度、数据安全、数据流量传输的大小等。而服务器端 API 的设计本身,关系到产品生命周期中整个系统的响应速度、用户扩容、功能扩展。所以,对于一个真正要做大的应用而言,其服务器端API开发的重要性怎么强调 也不过分。 以后博客中会多关注移动应用服务器端API开发,和大家一起分享他们...
阅读全文
摘要:在微博看到的内容在此做个备份,对照自己的知识体系,逐步完善。现在上图。
阅读全文
摘要:实现方法为:1、 用户首次登陆的时候,发送用户名、密码、以及本次登陆失效时间。可以使用HttpPost或者HttpGet.2、 服务器端假设使用的是asp.net + Memcached + MYSQL。服务器端根据Post/Get过来的数据进行解析,然后到数据库查询该用户权限。3、 如果不存在,则直接发送错误回去。应用客户端可以跳到Activity重新登陆界面。4、 如果存在,则发送MD5(当前时间+当前用户+失效时间)组成的一个md5 hashkey给用户,并将该hash数据以及用户名称插入到Memcached,当然还需要设置该数据失效时间。5、 并发送回去用户登陆成功的消息。以后用户就可
阅读全文
摘要:以下为个人总结和借鉴的方法一、影响coding速度的一些因素未考虑清楚就匆忙下手,导致不断的停下来思考和重写。匆匆写完之后,出现很多的错误,包括各种语法错误,花费了大量时间甚至返工。在整体逻辑没理清之前,陷入了很多的细节,纠缠不清。对于一些方法的使用不清楚,需要不停的去查询手册或者google之。编写重复的代码,执行重复的操作。经常被其他的人或者事情打断,无法集中精力。过早的进行性能之类的优化,引入了复杂性和潜在的bug。二、提高coding速度的方法使用恰当的工具。使用合适的IDE或者编辑器(VIM ,Sublime Text 2是一款不错的跨平台的编辑器)掌握相当数量的快捷键,VS中的快捷
阅读全文

浙公网安备 33010602011771号