java web 服务器的相关问题,如能解决高分相送,邦具体解决者现金酬谢!

netpet 2007-06-19 01:56:04
本人不才自己动手做了一个web服务器,内涵我简化了的servlet及其服务器,现在动态编译、session cookie 、request、response几个对象、数据库连接池、等等都作出来了,设计之初就是想解决web服务器过于复杂庞大的缺点,现在整个环节中最差的恰恰是基础的最外面的http访问效率很低,也作了socket线呈池,使用了keep-alive规则,但是测试起来比apache处理静态页面效率差上一半还多,并且如果网络慢很容易导致线程池满。
第一个问题:看了resin的线程池处理方法,因本人学java时间很短,所以根本没办法从中滤出头绪,但是测试(我用VS的测试工具简单测试的)显示他在处理静态页面时的确快,甚至比apache快10%左右,所以我的第一个问题就是谁能帮我把resin的线程池处理模型单独提出来,高分相送,另可考虑适当现金酬谢(决不食言)
第二个问题:熟悉http协议的请进,我在处理http的持久连接的时候发现一个不可逾越的(对于java的socket机制,因为客户端为浏览器无法使用NIO)技术问题,因为客户端是浏览器,但是我自己做的web服务器预知交互发现所有浏览器并不会在多个持久连接完成后发送任何关闭连接的信息,所以服务器在处理连接的时候只能用timeout方法才能关闭一个连接,现代浏览器一半都采取多线程,一个页面请求伴随着数个单度线程的资源请求,每个单独请求的socket都需要一个timeout,对服务器时间浪费太大,比如一个含有20个资源的页面,单独请求往往在5个左右,其余并在这些socket中使用持久连接。 对于java ,有没有办法解决?
...全文
475 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdtshan 2009-01-15
  • 打赏
  • 举报
回复
up
success000 2009-01-15
  • 打赏
  • 举报
回复
up
海诗美妆 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 netpet 的回复:]
感谢这么多的人关注,我是楼主,这个帖子已经这么就了还有人关注,现在问题都解决了,顺便说说给他家一点参考,不要再走我的弯路了。
java是很难解决所有的问题的,他的nio也不是想象中的那么高效,现在我用c来解决的,linux下可以使用epoll,windows下可以使用IOCP,都是不错的异步io框架,现在在性能上终于可以超过apache nginx等了,我现在是在ubuntu下用c结合epoll做的,netbeans做编辑器,感觉还可以,现在的业务基本都迁移…
[/Quote]

你这种性能超越的概念很模棱两可。
跟牺牲一些必要的功能相比,大多数网站只会选择主流服务器。

但是支持lz,希望能够进一步完善。
success000 2008-12-26
  • 打赏
  • 举报
回复
帮顶
netpet 2008-12-26
  • 打赏
  • 举报
回复
感谢这么多的人关注,我是楼主,这个帖子已经这么就了还有人关注,现在问题都解决了,顺便说说给他家一点参考,不要再走我的弯路了。
java是很难解决所有的问题的,他的nio也不是想象中的那么高效,现在我用c来解决的,linux下可以使用epoll,windows下可以使用IOCP,都是不错的异步io框架,现在在性能上终于可以超过apache nginx等了,我现在是在ubuntu下用c结合epoll做的,netbeans做编辑器,感觉还可以,现在的业务基本都迁移到c上来了,谢谢大家的关心。
我的博客,hi.baidu.com/netpet,多多关照
success000 2008-12-26
  • 打赏
  • 举报
回复
帮顶
wyjsff 2008-09-26
  • 打赏
  • 举报
回复
诚聘IT兼职教师

北京思源培训中心诚聘既有教学经验又开发经验的兼职教师,
待遇优厚
兼职高级讲师若干
1. MS.NET讲师(主讲.NET 系列课程asp.net, C#)
2. JAVA讲师 (主讲JAVA,JSP,J2EE等)
3. MS SQL Server讲师(主讲MS SQL Server课程)
4. Oracle 讲师(主讲 Oracle 系列课程)
5.软件测试讲师(主讲软件测试课程)
5. VC++讲师 (主讲VC++,C++等)
6. LINUX/UNIX讲师(主讲LINUX / UNIX 系列课程)
7.IBM Aix /SUN Solaris讲师(主讲系统管理和维护)
8. Office讲师(精通办公软件)
9.Ajax讲师(主讲程序设计和WEB高级开发)
10.3DMax讲师(主讲 3DMax 基础和建模)
11.应用服务器weblogic/jboss/websphere
12.CCNA,CCNP,CCSP,CCIE 网络信息安全技术讲师
13.中间件(Weblogic,Websphere,eclipse等)讲师
联系方式:abc@ciitc.com QQ:174629429 MSN:bjcosun@hotmail.com

网址:http://www.ciitc.com


little06 2008-08-26
  • 打赏
  • 举报
回复
据说Tomcat6使用的是Nio技术,
可以看看
shanpeng238 2008-08-06
  • 打赏
  • 举报
回复
应该用用架构!还有JAVA模式的书好好看看 会有方法的
netboygg 2008-06-16
  • 打赏
  • 举报
回复
帮顶
  • 打赏
  • 举报
回复
不知,帮顶



不知,帮顶
zoroz 2008-06-11
  • 打赏
  • 举报
回复
帮你顶
icake 2008-06-10
  • 打赏
  • 举报
回复
1. 可以想办法集成apache,仅仅听说,我还不会做,不知道可不可行。
2,感觉上你思路可能有问题,WEB上持久连接越少越好,COOKIE SESSION DATABASE 都可以代替,线程不是用来持久连接的。
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
不知,帮顶
CathySun118 2007-06-29
  • 打赏
  • 举报
回复
学习
unika_ly12 2007-06-27
  • 打赏
  • 举报
回复
高手啊,学习
Javafan0 2007-06-19
  • 打赏
  • 举报
回复
1.RESIN那个有点C++写的部分程序,效率自然高.
2.客户端关闭连接好象一般都用try......catch,但不抛出异常.

255

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧