服务器
bytxl
归零。
得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。
不怕死,不找死。
展开
-
apache挂钩(HOOK)
原文地址:http://blog.csdn.net/zjl410091917/article/details/72879155.5 挂钩(HOOK)5.5.1 为什么引入挂钩在Apache1.3版本中,对HTTP 请求的处理包括若干个固定阶段,比如地址转换阶段、身份确认阶段、身份认证阶段、权限确认阶段、MIME类型识别阶段等等,这也意味着Apache1.3 中的挂钩数目是有限的转载 2012-10-11 14:22:22 · 1750 阅读 · 0 评论 -
两种方法清空memcache缓存(转)
http://blog.csdn.net/hadeys/article/details/6217472默认memcache会监听11221端口,如果想清空服务器上memecache的缓存,大家一般使用的是:telnet localhost 11211flush_all同样也可以使用:echo "flush_all" | nc localhost 11211使用flush转载 2014-04-25 10:01:02 · 2674 阅读 · 0 评论 -
用tornado ,Supervisord ,nginx架网站
最近使用 Tornado 重写了博客,于是查看了很多关于部署基于 Tornado 开发的网站的资料,比较成熟的方案就是使用 Nginx 来做反向代理,使用 Supervisord 来作为进程管理工具。至于什么叫反向代理,为什么 Tornado 需要使用 Supervisord 来进行进程管理,可以自己 Google 一下。现在主要介绍一下配置和其中遇到的一些问题。Nginx 的配置文件可以转载 2014-05-20 20:02:44 · 849 阅读 · 0 评论 -
Nginx 负载均衡模块 ngx_http_upstream_module 详述
译序:截至发稿时止,官方最新 ngx_http_upstream_module 指令详述。官方随时在更新,请及时关注官网最新公布。以下是官方原文。ngx_http_upstream_module 模块用于定义可以被 proxy_pass、fastcgi_pass 以及memcached_pass 等指令引用的服务器群。配置示例[plain] view plainco转载 2015-07-10 10:22:09 · 1215 阅读 · 0 评论 -
Tornado入门教程
OverviewFriendFeed使用了一款使用 Python 编写的,相对简单的 非阻塞式 Web 服务器。其应用程序使用的 Web 框架看起来有些像 web.py 或者 Google 的 webapp, 不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。Tornado 就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源转载 2014-05-22 10:19:38 · 1884 阅读 · 0 评论 -
tcp_tw_recycle和tcp_timestamps导致connect失败问题
近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关;1. 现象 第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模转载 2015-06-09 09:17:27 · 1162 阅读 · 0 评论 -
纯python实现的web: tornado性能测试以及实际使用解析
测试环境:服务器配置: 4 x Intel(R) Xeon(R) CPU E5405 @ 2.00GHz, 4G内存, 操作系统: CentOS 5.3 x86_64nginx前端 + 4 tornado(0.2) web processtornado: http://www.tornadoweb.org (已被墙)测试场景:http get请求,服务转载 2015-07-08 14:49:29 · 5555 阅读 · 0 评论 -
【经验总结】tcp_tw_recycle参数引发的故障
故障描述: 2010年9月7日,新上线的手机游戏论坛有部分地区用户反应登陆游戏时出现不能登陆或登陆超时等情况,观察用户同时在线数量开始下降情况。排错过程: 一、初步检查是否有变更导致的故障: 1、联系同事检查网络是否有问题或有对该机房网络是否有进行过调整,反回结果是没有变更操作。 2、检查在这个时间点是否有进行程序发布更新,或程序转载 2015-06-08 20:26:44 · 2039 阅读 · 0 评论 -
TCP洪水攻击(SYN Flood)的诊断和处理
1. SYN Flood介绍前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood。SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请求连接的第一个握手包(SYN包),被攻击服务器回应第二个握手包(SYN+AC转载 2015-06-09 09:12:06 · 798 阅读 · 0 评论 -
tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项
linux TIME_WAIT 相关参数:net.ipv4.tcp_tw_reuse = 0 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭net.ipv4.tcp_tw_recycle = 0 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭net.ipv4.tcp_fin_timeout转载 2015-06-08 15:47:43 · 3261 阅读 · 0 评论 -
Nginx 性能调优 Tuning NGINX for Performance
原文地址:http://nginx.com/blog/tuning-nginx/Tuning NGINX for PerformanceNginx 性能调优NGINX is well known as a high performance load balancer, cache and web server, powering over 40% of th转载 2015-06-25 09:58:33 · 1036 阅读 · 0 评论 -
队列并不能解决“超载”
人们总是错误地使用队列,最坏的情况是用它解决“超载(overload)”问题。Fred Hebert是《Learn You Some Erlang for Great Good!》一书的作者。在这本Erlang入门书籍中,他结合生动的插图、恰当的实例以浅显易懂的方式讲解了技术问题。近日,他以同样的方式阐释了为什么“队列不能解决超载”。他将系统比作一个洗手池,如下所示:转载 2015-06-04 09:24:17 · 1186 阅读 · 0 评论 -
tcp参数详解之tcp_fin_timeout
tcp_fin_timeout :INTEGER默认值是 60对于本端断开的socket连接,TCP保持在FIN_WAIT_2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。过去在2.2版本的内核中是 180 秒。您可以设置该值﹐但需要注意﹐如果您的机器为负载很重的web服务器﹐您可能要冒内存被大量无效数据报填满的风险﹐FIN-WAIT-2 sock转载 2015-06-03 09:43:31 · 2423 阅读 · 0 评论 -
Linux下高并发socket最大连接数所受的各种限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit转载 2015-06-03 09:10:33 · 662 阅读 · 0 评论 -
nginx优化篇之Linux 内核参数的优化
由于默认的Linux内核参数考虑的是最通用的场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能。在优化内核时,可以做的事件很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态Web内容服务器、反向代理服务器或是提供图片缩略功能(实时压缩图片)的服务器时,其内核参数的调整都是不同的。这里只针对最通用的、使N转载 2015-06-03 09:23:42 · 473 阅读 · 0 评论 -
在telnet下操作memcache详解(操作命令详解)
在定位问题、测试等时候经常需要对memcache的数据进行一些操作,但是其本身没有自带的客户端,所以只能通过telnet来进行操作。通过telnet连接memcache。复制代码代码如下:telnet 127.0.0.1 11211memcache写入操作telnet写入memcache命令格式复制代码代码如下:转载 2015-07-10 16:56:04 · 949 阅读 · 0 评论 -
Memcache 查看列出所有key方法
今天在做一个Memcache的session测试,但是在测试的过程中,发现Memcache没有一个比较简单的方法可以直接象redis那样keys *列出所有的Session key,并根据key get对应的session内容,于是,我开始查找资料,翻出来的大部分是一些memcache常用命令等,但是对列出key的办法,讲解却不多,于是来到google,找到了一个国外的资料 具转载 2015-07-10 17:13:27 · 962 阅读 · 0 评论 -
Epoll在LT和ET模式下的读写方式以及EPOLL实例
http://blog.csdn.net/xitong2012/article/details/7076376#include #include #include #include #include #include #include #include #include #include #include #include #include转载 2012-09-11 08:42:48 · 1204 阅读 · 0 评论 -
apache+mod_perl防盗链
原文地址:http://blog.csdn.net/zjl410091917/article/details/7288096写这个帖子完全是无意中搜索modperl应用时候发现了,具体可以参见:http://pyh7.spaces.live.com/blog/cns!47D8D44208AC51E5!140.entry上面的文档已经写都很详细了,包括怎么安装modperl、Apac转载 2012-10-11 14:35:33 · 695 阅读 · 0 评论 -
Linux文件描述符限制
http://blog.chinaunix.net/uid-18933439-id-2808686.html公司在近期新增了一台电信-网通双网服务器,该服务器安装SQUID来实现双网HTTP代理,配置完成测试时功能正常,可以使用该代理访问页面及公司业务,于是把该服务器切到生产环境,在生产环境中问题显露出来,有效连接数始终在1200左右上不去,查看系统及SQUID日志时发现,在 SQUID日志中转载 2014-04-27 14:14:43 · 1009 阅读 · 0 评论 -
squid3配置要点
squid3配置要点 首先需要apt-get update 然后安装apt-get install squid 配置和开启 vi /usr/local/squid/etc/squid.conf 3.1更改监听端口 http_port 9090 3.2更改访问控制 http_access allow all 3.3开转载 2014-05-18 10:10:35 · 2298 阅读 · 0 评论 -
从概念到实例详细讲解squid配置
http://tech.huweishen.com/gongju/1173.html转载 2014-05-14 20:51:59 · 1132 阅读 · 0 评论 -
CLR via C# 读书笔记 1-2 创建线程的成本
在clr中创建线程的代价还是比较高的 ,他需要两个部分内存:线程核心对象, 存放描述线程的一些内容和上下文 . (内存消耗:700B-2500B)线程环境,存放例如异常处理链之类. (内存消耗 1Page 4k-8k)用户模式堆栈, 存放 参数 变量等 ,这也就是平时我们说的堆栈和堆的区别中的堆栈 (内存消耗:1MB)核心模式堆栈, (内存消耗12KB-24KB)基本转载 2015-08-07 11:59:29 · 696 阅读 · 0 评论 -
线程池设计中的惊群问题
http://www.myexception.cn/open-source/1587656.html多线程编程已经是现在网络编程中常用的编程技术,设计一个良好的线程池库显得尤为重要。在 UNIX(WIN32下可以采用类似的方法,acl 库中的线程池是跨平台的) 环境下设计线程池库主要是如何用好如下系统 API: 1、pthread_cond_signal/pthread_cond转载 2014-04-27 15:19:53 · 1580 阅读 · 0 评论 -
linux惊群问题——select, epoll
http://hi.baidu.com/jiessieni/item/ac4102fbd9c3ecc80cd1c84b今天测试udp服务器进程时发现log中记录了当进程收到一个请求后,会有多条失败处理记录,同时有一条成功处理记录。服务器进程使用sellect模式,通过fork四个子进程来监听同一个socket。 发现问题后初步怀疑是出现了惊群现象。但是,听说现代内核已经解决了惊群转载 2014-04-27 12:00:02 · 1439 阅读 · 0 评论 -
吞吐量和延迟、信号量和互斥锁的形象比喻
http://www.ltesting.net/ceshi/ceshijishu/xncs/2013/0226/205991.html我们知道,计算机中有很多概念并不容易理解,有些时候一个好的比喻能胜过很多句解释。下面两个是我看到的两个很精彩的比喻,拿出来和大家分享一下。 第一比喻是关于吞吐量(throughput)和延迟(latency)的。如果你要搞网络性能优化,这两个概念是你转载 2014-04-27 15:48:08 · 991 阅读 · 1 评论 -
利用 squid 反向代理提高网站性能
http://www.ibm.com/developerworks/cn/linux/l-cn-squid/转载 2014-05-15 20:52:00 · 704 阅读 · 0 评论 -
linux AIO (异步IO) 那点事儿
在高性能的服务器编程中,IO 模型理所当然的是重中之重,需要谨慎选型的,对于网络套接字,我们可以采用epoll 的方式来轮询,尽管epoll也有一些缺陷,但总体来说还是很高效的,尤其来大量套接字的场景下;但对于Regular File 来说,是不能够用采用 poll/epoll 的,即O_NOBLOCK 方式对于传统文件句柄是无效的,也就是说我们的 open ,read, mkdir 之类的R转载 2015-08-07 09:12:26 · 1509 阅读 · 0 评论 -
使用异步I/O(AIO) 大大提高应用程序的性能
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,我们转载 2014-12-05 14:20:02 · 2828 阅读 · 0 评论 -
“惊群”问题
http://blog.csdn.net/husthan/article/details/6792987“据说”惊群问题已经是一个很古老的问题了,并且在大多数系统中已经得到有效解决,但对我来说,仍旧是一个比较新的概念,因此有必要记录一下。什么是惊群 举一个很简单的例子,当你往一群鸽子中间扔一块食物,虽然最终只有一个鸽子抢到食物,但所有鸽子都会被惊动来争夺,没有抢到转载 2014-04-27 11:45:52 · 1037 阅读 · 2 评论 -
lighttpd不支持Expect: 100-continue的解决办法
由于lighttpd1.4.21之前的版本不支持Expect: 100-continue,所以有可能访问出现“HTTP/1.1 417 Expectation Failed”等错误提示,搜集整理了很多解决方法,如下:1. 升级到 lighttpd 1.5.x,那应该没有这个问题了2. (推荐)升级到 lighttpd 1.4.21 或以上版本(即最新的realease版本),在配置文件中加转载 2012-06-15 14:43:06 · 2044 阅读 · 0 评论 -
千万级并发实现的秘密:内核不是解决方案,而是问题所在!
摘要:C10K问题让我们意识到:当并发连接达到10K时,选择不同的解决方案,笔记本性能可能会超过16核服务器。对于C10K问题,我们或绕过,或克服;然而随着并发逐渐增多,在这个后10K的时代里,你是否有想过如何去克服C10M。既然我们已经解决了 C10K并发连接问题,应该如何提高水平支持千万级并发连接?你可能会说不可能。不,现在系统已经在用你可能不熟悉甚至激进的方式支持千万级别的并发连转载 2015-08-07 11:10:19 · 635 阅读 · 0 评论 -
浅谈多线程和异步
最近很忙,因此拿出时间来写博客也算是忙里偷闲了,继承前面的一贯风格,继续浅谈胡侃。 最近在项目中遇到了Socket异步网络传输的问题,所以沉下心来整理下。于是,先问了下度娘,结果找到了园友志良的一篇文章《C#中异步和多线程的区别》(参考文献1),精读了一遍,个人觉得理解的很好,自己学习下之余,又动手加工了一下以分享给各位博友,希望各位博友能对异步和多线程有一个清楚的认识。 C#中异转载 2015-08-06 09:59:26 · 467 阅读 · 0 评论 -
web服务器最大连接数
主机到主机的通话过程:比如,你从服务器上面拷贝一个东西到你自己的电脑上,那么,你的电脑就要先和服务器建立连接,你可以理解为一条管道。然后再通过这个管道传送数据,数据传送完成后,再断开这个连接,也就是把管理拆了。同时连接数为5就是说,同时只能建立5 个连接,也就是说同时只能有5个管理同时连到服务器上。但这里有些人可能有点误区。比如你用服务器建了一个HTTP站点,并不是说同时只转载 2015-06-03 09:01:31 · 5773 阅读 · 0 评论 -
应用环境下的TIME_WAIT和CLOSE_WAIT处理
昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。在服务器的日常维护过程中,会经常用到下面的命令:[plain] view plain原创 2015-06-10 08:34:36 · 1345 阅读 · 0 评论 -
完整的Set-Cookie 头
根据Netscape cookie草案的描述,Cookie 是Web 服务器向用户的浏览器发送的一段ASCII码文本。一旦收到Cookie,浏览器会把Cookie的信息片断以"名/值"对(name-value pairs)的形式储存保存在本地。这以后,每当向同一个Web 服务器请求一个新的文档时,Web 浏览器都会发送之站点以前存储在本地的Cookie。创建Cookie的最初目的是想让Web服务器转载 2015-05-04 14:34:23 · 1925 阅读 · 0 评论 -
nginx+fastcgi+c/c++源码安装配置
参考:http://www.cnblogs.com/xiaouisme/archive/2012/08/01/2618398.html由于以前安装过apache,已经安装了很多依赖库,现在只需要安装以下软件包:nginx-1.4.4.tar.gzspawn-fcgi-1.6.3.tar.gzfcgi.tar.gz安装nginx# tar -xvf ./nginx-1原创 2014-01-28 11:20:02 · 1870 阅读 · 0 评论 -
squid 用户通过NCSA认证
Squid的用户认证设置 默认时,Squid本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。一般有以下的认证程序:LDAP认证、SMB认证、基于mysql的认证、 基于sock5的密码认证和基于Radius的认证。下面介绍常用的ncsa实现的认证, ncsa是Squid源代码包自带的认证程序之一,实现步骤如下:1. 进入/usr/local/squid/auth_mo转载 2014-05-18 15:58:03 · 3046 阅读 · 0 评论 -
apache源码安装
参考:http://www.51testing.com/html/18/311318-832068.html本以为Apache的编译安装很简单,其实不然;以前的环境下编译报错很少 ,但这次不行了提示configure: error: APR not found. Please read the documentation.经网上查阅资料才知道这是Apache的关联软件在原创 2013-11-22 14:07:16 · 2615 阅读 · 0 评论 -
apache做反向代理服务器
http://yahoon.blog.51cto.com/13184/162922原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yahoon.blog.51cto.com/13184/162922apache做反向代理服务器apache代理分为正向代理和反向代理:1 正向代理: 客户端无法直接访转载 2012-10-11 10:37:57 · 608 阅读 · 0 评论