小白熊 发表于 2017-7-5 02:37 于是django和易语言的结合版就来了 |
mysql连接池?? |
开着web容器需要的知识储备 会整的我要死要死的 |
太难了,看不懂 |
落款hMZ 发表于 2017-7-5 14:15 直接使用windows socket编程 IOCP模型,理论是支持大并发,但当时设计可能确实存在很多缺陷,但我现在已经不想再开发了,开发起来很蛋疼。 |
小白熊 发表于 2017-7-5 02:37 PHP如果用fastcgi模式的话,如果访问量大,如果每次访问服务器处理的时间长,就会产生大量php-cgi.exe进程,比如像WEBQQ接受消息,一次访问poll 最长有25秒,在这25秒里服务器在不停的查询数据库,这个请求会独占一个mysql链接25秒 ,如果同时有上万个这样的请求,那么你的数据库肯定爆,如果php在查询一次数据库后释放mysql连接,过1秒又需要查询的时候再链接,这仍然不是一个好办法,并且,因为每次请求处理的时间都很久,如果有大量请求的话,服务器就需要大量的进程去处理,这是PHP的硬伤,能用线程解决的事他硬是用进程去解决了,一个进程跟一个线程相比,开支就要大的多了,即使是fastcgi的进程,开支仍然比线程大的多 你说的情况我认为肯定是web容器哪里设计有缺陷 比如 1.底层的socket编程是否高效率,是否能允许大并发,等待队列有多长,是否合适,断开连接后句柄是否及时释放了,是否复用了 2.是否有内存泄露,服务器运行很久以后内存有没有大量增加 3.有没有保持链接机制 4.mysql连接池的效率怎么样,是否支持大并发 5.对每次请求的处理是否高效,等等等等 60码我听过但是没用过,可是我觉得最关键的处理应该是在用户获取验证码结果的时候,这个请求应该是最频繁的,所以一定要高效 |
开发过,不知道你有没有听过60吗短xin平台,就是我开发的, 开始就是用易写的WEB服务器,但于上个月php版本开发完成换成了PHP,使用apache服务器centos系统, 我用易开发的WEB服务器稳定运行一年多,但后来我发现,不知道为什么我用易开发的服务器承受能力总是很不及apache那么强,可能是个人能力有限,导致设备增加浪费更多钱,于是我用php重写了, 那个服务器还是去年年初开发完成的,现在我觉得我可以开发出更好的WEB服务器了,但是不想重复造轮子, 并且加上易自身的缺点,还有我没有能力开发出能与apache相比的服务器,于是改用php咯 |
黑猫よ__ 发表于 2017-7-4 11:37 谢谢,明白了,那这个问题在别的编程语言里他怎么处理的呢,如果尽量不使用全局变量会不会就可以避免这个问题?因为全局变量在多线程里都是尽量避免读写的,即使要读写多数也只是整数的全局变量,会尽量避免改变全局变量的尺寸 |
理论上现在的内存容量确实也足够大,一般也不需要特别注意内存碎片问题,但如果将其层次提升到,每秒成千上万的访问量时,这种现象就会造成致命后果。 |
看上去很强大,顶一顶 |
sitemap|
易语言源码|
易语言教程|
易语言论坛|
易语言模块|
手机版|
广告投放|
精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司
( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173