日期:2014-05-17  浏览次数:20535 次

如何实现高并发图片上传
通过自带的GD, 写了一个PHP上传程序,发现如下问题:

1、吃内存,上传一张2M的图片大概消耗掉60M的内存;

2、占CPU,一个人上传大图(3M),PC机的CPU达到50%;

3、切割速度慢,windows+apache 把一张3M的图缩放切割成四张图需要11秒;

  上面问题造成的结果是,当多人上传时,图片会经常失败,服务器CPU和内存消耗很高;

  测试时,3个人同时上传基本就不能用了;不知道是不是和写法有关系;

  前面有人推荐使用imagemagic来实现,我自己去试用了下,也很耗资源。

  请问如何实现高并发上传图片,效率不能太低?希望各位大侠给点意见;

  (注:什么意见都可以,最好能给点资料看看,这个问题比较头疼)

------解决方案--------------------
win下的IIS单机器比APACHE好用,多台机器没机会会用所以不知道了。
------解决方案--------------------
我普通机型配置如下:
主频:2.6
内存:2G
集显
4M带宽
Windows XP + Apache2.2 用时最高2-3秒
Fedora15 + Apache2.2 用时0-3秒
图片像素2592*1936 1.82M
------解决方案--------------------
你命令行直接执行imagemagick的convert命令看看如何。