04 2013 档案
摘要:进程可使用内存数就是操作系统给进程分配的最大地址,一般的32位操作系统提供给用户地址最大都是3g(操作系统自己保留1g),windows由于商业目的,对于个人用户只提供了2g地址,要使用3g扩展需要对系统配置作修改。还有就是intel的32位芯片实际上是支持36位寻址能力的(64g),但是也是出于商业目的对于大部分个人芯片都禁止了这个功能,这个禁止可能是物理上的限制个人用户几乎无法修改。而且在操作系统中物理可用内存和进程实际占用内存是有区别的,因为有虚拟地址和交换区这种概念,进程实际使用的内存量远远大于物理可用内存,最简单的一个例子就是声明一个非常大的数组但不存放任何东西,进程启动后占用的物理
阅读全文
摘要:根据以往经验和网友的总结纵向扩展硬件方面可以更换更强劲的服务器,增加 CPU ,内存, 使用高速磁盘。软件方面可以对现有代码的优化,重构。使用 Non-Blocking 非阻塞 IO 模式,或者异步 IO 模式,使用线程模式或者改用 事件驱动形模式。目标是提高单机 qps ,连接数,来支持更多的连接,更多的用户,更多的业务量。横向扩展使用集群,更多的服务器代替单一服务器。可扩展系统设计模式负载均衡这种模式将请求分发到并行的处理机上。要求程序无状态,请求对于每个处理机都应该是相同的。比如常见的 REST 模式既是无状态模式。分散聚集模式这种模式将请求分发到多个处理机上,然后收集每个处理机返回的结
阅读全文
摘要:尽管你可以调节很多MySQL服务器上的变量,但是在大多数通常的工作负载下,只有少数几个才真正重要。如果你把这些变量设置正确了,那么修改其他变量最多只能对系统性能改善有一定提升。1. key_buffer_size – 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载 — 记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了 — .MYI 文件只有 1GB,而 key_buffer 却设
阅读全文

浙公网安备 33010602011771号