??
1 epoll
epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并、发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Read...
分类:
其他好文 时间:
2014-10-01 01:34:50
阅读次数:
370
1 UDP局域网服务器
A
读出每一个客户端发送过来的数据包,然后fork出子进程,由子进程去处理客户端请求。
B
客户端与服务器段交换多个数据报,服务器为每一个客户端连接创建新的socket,在其上bind一个临时端口,然后用该socket处理对应客户端上的所有应答,这个办法要求在客户查看服务器第一个应答中的源端口号。然后后面利用此端口号和服务器进行交互。
2函...
分类:
其他好文 时间:
2014-10-01 00:28:00
阅读次数:
217
高并发下的 Nginx 优化英文原文:Optimizing Nginx for High Traffic Loads过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apache迁移过来的,因些他们过去常常调整配置和执行魔术操作来确保服务器高效运行...
分类:
其他好文 时间:
2014-09-29 22:03:01
阅读次数:
430
HashMap其实并不是线程安全的,在高并发的情况下,是很可能发生死循环的,由此造成CPU 100%,这是很可怕的,所以在多线程的情况下,用HashMap是很不妥当的行为,应采用线程安全类ConcurrentHashMap进行代替。...
分类:
其他好文 时间:
2014-09-28 21:48:05
阅读次数:
182
??
1多进程并发服务器
使用多进程并发服务器时要考虑以下几点:
A.父最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符)
B.系统内创建进程个数(和内存大小相关)
C.进程创建过多是否降低整体服务性能(进程调度)
2.案例说明
server.c,代码如下:
#include
#inclu...
分类:
其他好文 时间:
2014-09-28 01:16:00
阅读次数:
320
??
1多进程并发服务器
在使用线程模型开发服务器时需要考虑以下问题:
A
调整进程最大文件描述符上限
B
线程如有共享数据,考虑线程同步
C
服务于客户端线程退出时,退出处理
D
2.案例说明
server.c,代码如下:
/* server.c */
#include
#include
...
分类:
编程语言 时间:
2014-09-28 00:25:40
阅读次数:
199
在实现缓存排序功能之前,必须先明白这一功能的合理性。不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发的应用;其次,在缓存中排序不会遇到表锁定的问题。Redis恰好提供了排序功能,使我们可以方便地实现缓存排序。
Redis中用于实现排序功能的是SORT命令。该命令提供了多种参数,可以对列...
分类:
其他好文 时间:
2014-09-25 18:51:17
阅读次数:
222
网站集群部署解决计划一、计划目标实现互动留言系统、后台发布系统的高可用性,有效解决高并发量对单台应用服务器的打击,确保应用服务器单点故障不影响系统正常运行。二、部署架构采取Tomcat集群的部署方法,Apache通过proxy_module代理方法对用户的请求进行负载均衡,转发至tomcat集群中的...
分类:
其他好文 时间:
2014-09-25 17:28:49
阅读次数:
178
我的主要工作就是api的编写,那么如何测试API响应时间,以及预计高并发服务器压力呢?1 首先统计API每日访问总数,举例为a。 API一般有访问日志,统计访问日志。linux下 用到类似grep wc管道命令统计。2 计算并发数。 这个怎么计算呢?预估一下。这里我们有这么一个原则:80%流量...
面临的问题对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩 展性...
分类:
其他好文 时间:
2014-09-25 15:32:19
阅读次数:
243