![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高性能网络
文章平均质量分 65
lessonnair
这个作者很懒,什么都没留下…
展开
-
系统调用、内存分配和持久连接
一、系统调用简介1、进程的两种运行模式:Linux进程有用户态和内核态两种运行模式,进程可以在两种模式之间切换。这两种态的分离,动机主要在于提高系统底层安全性以及简化开发模型。减少不必要的系统调用,也是Web服务器性能优化的一个方面。2、可以使用strace来跟踪进程,获得该进程的一系列系统调用。二、内存分配Apache的多进程模型,使用了基于内存池策略的内存管理方案;Li转载 2014-02-21 08:05:44 · 593 阅读 · 0 评论 -
吞吐率与压力测试
一、并发能力的衡量标准1、吞吐率,单位是” reqs/s “,即Web服务器单位时间处理的请求数。2、压力测试,通过模拟足够数目的并发用户数,分别持续发送一定的HTTP请求,并统计测试持续性总时间,计算出基于这种压力下的吞吐率。3、压力测试的前提条件:并发用户数、总请求数、请求资源描述。对于压力测试的每一个用户,连续发送请求实际是指在发送一个请求并接收到响应数据后再发送下一个请求。转载 2014-02-21 03:47:48 · 1276 阅读 · 0 评论 -
数据的网络传输
一、数据发送过程(从主机进入线路)1、应用程序首先得将需要发送到数据写入该进程的内存地址空间中;2、应用程序通过系统函数库接口(比如send函数)向内核发出系统调用,系统内核将这些数据从用户态内存区复制到由内核维护的一段称为内核缓冲区的内存地址空间;3、当数据写入内核缓冲区后,内核会通知网卡控制器来取数据,同时CPU转而处理其他进程;4、网卡缓冲区中的数据需要发送到线路中,就是将数转载 2014-02-21 03:20:05 · 550 阅读 · 0 评论 -
CPU并发计算
一、一些概念1、进程多执行流的一般实现便是进程。多进程的好处不仅仅在于CPU时间的轮流使用,还在于对CPU计算和I/O操作进行了很好的重叠利用。进程的创建使用fork()系统调用。2、轻量级进程采用大量进程的Web服务器在处理大量并发请求时,内存的大量消耗有时会成为性能提升的制约因素。在Linux 2.0后,提供了对轻量级线程的支持,它由一个新的系统调用clone()来创建,这转载 2014-02-21 07:30:36 · 1537 阅读 · 0 评论 -
I/O模型
一、同步阻塞I/O 这里的阻塞指的是当前发起I/O操作的进程被阻塞,并不是CPU被阻塞。 同步阻塞I/O是指当进程调用某些涉及I/O操作的系统调用或库函数时,比如accept()、send(),进程便暂停下来,等待I/O操作完成后再继续运行。这是一种简单有效的I/O模型,代价是多进程的大量内存开销。二、同步非阻塞I/O 该I/O的调用不会等待数据的就绪。相转载 2014-02-21 09:36:43 · 443 阅读 · 0 评论 -
分布式缓存
一、关于memcached1、memcached 使用物理内存来作为缓冲区,为了在内存为如此之多的数据结构提供高速的查找,memcached 使用了高效的基于key的hash算法来设计数据结构。2、数据过期机制:淘汰机制:LRU过期机制:根据站点具体情况进行设置3、网络并发模型 memcached 运行在独立的服务器上,动态内容通过TCP Socket 来转载 2014-02-28 12:54:25 · 463 阅读 · 0 评论