2013年12月2日
摘要: 如何确认当前apache使用哪种模式通过/etc/init.d/httpd中的来确认系统apache的运行脚本路径apachectl=/usr/sbin/apachectlhttpd=${HTTPD-/usr/sbin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd}/usr/sbin/httpd -l/usr/sbin/httpd -V | grep MPMprefork MPM使用多个子进程,每个子进程一个线程的方式处理请求,每个进程一个时间只处理 阅读全文
posted @ 2013-12-02 16:14 foxracle 阅读(546) 评论(0) 推荐(1) 编辑
  2013年11月14日
摘要: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。Memeory-Mapped Files下图展示了数据库是如何跟底层系统打交道的。内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域。虚拟内存对于进程来说,是一个物理内存的抽象,寻址空间大小为2^64操作系统通过mmap来把进程所需的所有数据映射到这个地址空间(红线),然后再把当前需要处理的数据映射到物理内存(灰线)当进程访问某个数据时,如果数据不在虚拟内存里,触发page fault,然后OS从硬盘里把数据加载进虚拟内存和物理内存如果物理内 阅读全文
posted @ 2013-11-14 15:16 foxracle 阅读(28835) 评论(4) 推荐(3) 编辑
  2013年8月14日
摘要: MongoDB是以UTC格式来存储所有时间的,查询的时候也是返回UTC时间,不提供在数据库连接级别的timezone支持,这就带来一个问题:无法使用groupby对日期进行聚合,因为你所在的timezone的日期跟UTC的日期不完全是同一天。虽然这个功能在社区里面呼声还是比较高的,但是10gen公司至今都没有给出timezone支持的时间表。https://jira.mongodb.org/browse/SERVER-6310这样对于想要存储正确时间到mongodb中,有两种套路。1:存入数据库之前,把datetime转成UTC时间;从数据库读取时(读取的结果并不带timezone信息,因为它 阅读全文
posted @ 2013-08-14 19:52 foxracle 阅读(8699) 评论(2) 推荐(1) 编辑
摘要: 受环境所迫,在一台Ubuntu server上安装多个实例MySQL。手动安装MySQL环境:Ubuntu server 11.10 64bit +mysql-5.5.17-linux2.6-x86_64.tar.gzhttp://www.iteye.com/topic/976422http://xgbjmxn.iteye.com/blog/1207344http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.htmlhttp://www.linuxidc.com/Linux/2008-07/13988.htmhttp://brokens 阅读全文
posted @ 2013-08-14 17:41 foxracle 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 网络环境:宿主机:Win7VirtualBox 4.1.4 + Ubuntu 11.10 server 64bit宿主机使用网线的时候,客户机在Bridged Adapter模式下,使用Atheros AR8131 PCI-E Gigabit Ethernet Controller上网没问题。宿主机使用无线的时候,客户机在Bridged Adapter模式下,使用可选项里唯一一个WIFI选项,Microsoft Virtual Wifi Miniport Adapter也无法上网,故弃之。安装时候server用dhcp来动态获取IP地址。server环境:sudo apt-get instal 阅读全文
posted @ 2013-08-14 17:41 foxracle 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 初次换Mac,各种不熟悉,留个记录以备后需。安装git最简单的图形化安装:http://code.google.com/p/git-osx-installer安装git-completion:# 下载git-completion.bashcurl https://github.com/git/git/raw/master/contrib/completion/git-completion.bash -OL# 复制git-completion.bashcp git-completion.bash ~/.git-completion.bash# 在~/.bash_profile 或者 ~/.pro 阅读全文
posted @ 2013-08-14 17:40 foxracle 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 实现高可用性的原则很简单:冗余(Redundancy):如果一个组件出现故障,必须有一个备用组件。这个备用组件可以是standing by的,也可以是当前系统部署中的一部分。应急计划(Contigency plans):如果一个组件出现故障,你必须知道做什么。这依赖于哪个组件出现故障以及如何发生故障。程序(Procedure):如果一个组件出现故障,你能够及时发现并迅速有效的执行你的计划。冗余(Redundancy)只要有单点故障(SPOF:Single Point of Failure)的存在,就无法保证系统的高可用性(关于单点故障可以参考Fenng的这篇文章,比较通俗易懂)。为了搞清楚哪里 阅读全文
posted @ 2013-08-14 17:40 foxracle 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 转载于:http://blog.csdn.net/tianlesoftware/article/details/6198780Linux系能监控主要涉及系统4个方面资源的监控:CPUMemoryI/ONetwork不同的应用类型对各个资源的要求不一样,所以监控的时候需要根据应用类型来着重对哪几个资源进行联合重点监控,这几个资源也是比较可能成为系统瓶颈的地方。CPU相关:需要使用大量CPU,比如高并发的Web服务器,图像视频处理,科学计算等。I/O相关:处理大量数据,需大量内存和存储,频繁I/O读写,对CPU要求相对较少,大部分时候都是CPU等硬盘,比如数据库服务器和文件服务器等。监控这些资源的 阅读全文
posted @ 2013-08-14 17:39 foxracle 阅读(254) 评论(0) 推荐(0) 编辑
  2013年1月6日
摘要: Redis:Installsudo suyum install make gcc wget telnetwget -c http://redis.googlecode.com/files/redis-2.6.7.tar.gztar zxfv redis-2.6.7.tar.gzcd redis-2.6.7make && make installConfigmkdir -p /etc/redis /mnt/var/lib/redissed -e "s/^daemonize no$/daemonize yes/" -e "s/^dir \.\//dir 阅读全文
posted @ 2013-01-06 14:23 foxracle 阅读(677) 评论(0) 推荐(1) 编辑
  2012年7月23日
摘要: 在使用Capistrano向EC2部署Django代码的文章中,主要给出了Capistrano的配置文件,这里具体说一下SSH的相关配置。Capistrano里面和SSH相关的有几个设置的地方:set :user, "ec2-user" #连接EC2的用户名set :use_sudo, false #连接EC2之后进行deploy:setup的时候,不允许使用sudodefault_run_options[:pty] = truessh_options[:forward_agent] = true #采用SSH agent forwarding技术ssh_options[: 阅读全文
posted @ 2012-07-23 14:41 foxracle 阅读(1171) 评论(0) 推荐(0) 编辑