异步调用与多线程的区别

  随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想探讨一下如何使用并发来最大化程序的性能。

  多线程和异步操作的异同

  多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。多线程是实现异步的一个重要手段,但不是唯一手段,对以一个单线程程序也可以是异步执行的。

Read More

合理设置apache的连接数及进程工作方式

手头有一个网站在线人数增多,访问时很慢。初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链接,而如果一旦连接上,在keeyalive 的存活时间内(KeepAliveTimeout,默认5秒)都不用重新打开连接,因此解决的方法就是加大apache的最大连接数。

1.在哪里设置?

服务器的为FreeBSD 6.2 ,apache 2.24,使用默认配置(FreeBSD 默认不加载自定义MPM配置),默认最大连接数是250

在/usr/local/etc/apache22/httpd.conf中加载MPM配置(去掉前面的注释):
# Server-pool management (MPM specific)
Include etc/apache22/extra/httpd-mpm.conf

Read More

服务器php-cgi.exe进程过多,导致CPU占用100%的解决方法

  再使用iis服务器中经常会出现php-cgi.exe进程过多,导致CPU占用100%,最终造成网站运行过慢甚至卡死的情况,重启iis会好一会,过一段时间久出现这种情况,为什么会出现这种情况呢,应该怎么解决呢,开始的时候我一直手动结束php-cgi程序,虽然可以临时解决问题,但是不是长久之计,我百度了下,出现该问题一般为程序方面问题,如程序采用fastcgi方式运行PHP,而程序设置的StartProcesses又偏大,如6甚至更大。下面是我整理的对php-cgi.ext过多引起服务器cup%的解决方法,希望对大家有帮助;大多数情况是发生在第四项上;

  解决参考:

  1.检查系统盘空间。查看系统临时文件是否过多,mysql数据库的临时文件默认存到了c:/windows/temp,导致累积了几万甚至上百万的小文件,压垮系统盘。

  del *.* 删除所有文件

  2.PHP是一种广泛使用的动态脚本语言,不过在IIS中并没有内置对PHP语言的支持,因此如果需要使用PHP,必须自行安装。PHP可以安装为CGI模式或者ISAPI模式,由于ISAPI模式具有更高的性能,因此我建议大家使用ISAPI模式。

  3.如能修改程序,建议将程序配置文件中的StartProcesses值缩到2,看是否改善。

Read More

VPS/云主机CPU占用100%故障排查

方法/步骤

通常情况下云主机/VPS的CPU一般不会占用100%,内存资源也不会占完。若您的服务器经常CPU资源100%,可以打开任务管理器,查看是哪个进程引起的,如果是w3wp.exe 将CPU占完了,就是有IIS中的站点导致的,需要检查下站点程序是否有BUG或者访问量很大或者其他原因。可以在IIS的应用程序池中对该站点的CPU资源进行限制,如图:

Read More

CentOS系统时间与现在时间相差8小时解决方法

很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时。这个时候的bios的时间和系统的时间是不一致的,一个代表 utc 时间,一个代表cst(+8时区),即上海时间。

下面是同步时间的解决方法:
1、vi /etc/sysconfig/clock

1
2
3
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false

2、linux的时区设置为上海
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3、对准时间
ntpdate asia.pool.ntp.org
需要先安装ntp服务器 yum install ntp

4、设置硬件时间和系统时间一致并校准
/sbin/hwclock --systohc

至此,linux系统时间和计算机硬件时间都是cst时间了,并且为上海时区。

Read More