如何实现高并发图片上传
通过自带的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命令看看如何。