tomcat 并发 本帖最后由 txspace 于 2011-07-15 11:12:48 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按理说MYSQL自己的缓存机制也开启了,因为我某几个页面会自动刷新,而查询的字符串都是一样的,那么应该对数据库照成的鸭梨是不大的,毕竟可以可以从缓存当中去取的,这个命中率是100%的 貌似有一个叫数据库负载均衡的技术,做mysql集群,据说人人网就是这么干的具体怎么做不晓得你可以调研一下这方面的技术 mysql集群tomcat集群页面缓存(静态化)---这个最有效果 1.页面静态化2.采用memcached3.优化sql4.优化代码,避免竞争资源过于激烈5.数据库分库,分表 我们公司的wap网站大概每天200W PV, 采用的4台tomcat服务器 + 一台数据库服务器 + 硬件缓存 + memcache + Nginx 首先,确保你的sql语句本身没太大性能问题,看看索引、性能参数等。其次,你直接jsp上面操作jdbc?还是servlet操作jdbc,把结果放入request,然后jsp用?如果前者,客户访问的时候,如果网速较慢,JSP还来不及执行到最后的释放操作,你的连接来不及释放,甚至可能因为某个更新操作的页面传输慢,卡死整个应用。所以需要改成后者。举个例子, 代码不规范。<% while (rs.next()) { %><tr><td><%=rs.getString(1)%></td><td><%=rs.getString(2)%></td>.......................<%}%>........................<% connection.close();%>如果访问这个网页的客户端速度较慢,而这个网页生成的东西又比较多,会导致需要较长时间在传输上,然后才能执行到最后的close或者类似操作。需要改成后面那种“servlet操作jdbc,把结果放入request,然后jsp用”的模式。当然,这种情况下,也应当尽早释放资源 另外,你tomcat或者apache之类的web服务器,有没有打开压缩功能? sql语句并没有太大的性能问题,都是简单的查询,最多关联3张表,一张有2500条,一张300条,一张不到1500条,对数据库的操作是才用servlet操作jdbc,然后放如request,使用jstl页面展现。不过后台一直有一个socket线程再收取一些数据,每一秒至少有50KB的流量,差不多50条数据,并且都会去数据库查询。 读取比确实是很高,主要都是查询。资源每一次使用都会归还连接池的。这个我每一句代码都仔细检查过了。所以释放数据库连接应该是没有问题的。MYSQL自己的缓存不够用么。。 1、页面的东西是实时显示的。所以应该不能做静态话,否则的话不久有延迟?2、做这个是不是需要改动很多代码?3、sql都是简单的查询,最多关联3张表,并且都是小表4、代码的话这个就不清楚是否会引起资源竞争激烈5、都是小表,除了几张月份访问统计表有几百万条数据外。 我也是考虑两方面,一方面是SQL效率的优化,其次是使用缓存机制用于检索的结果频繁并且变化少的数据。 3个服务器配置都是 Intel(R) CPU E5506 @2.13GHz 2.13GHz 3.99GB的内存2个作为tomcat负载均衡,使用的是windows 2003 server 的网络负载平衡mysql独立一台 sql的话独立运行的话很快,最长不会超过1秒,缓存机制该用哪一种?不需要改动太多代码 SSH整合小问题 jacob将word转换为html报错 菜鸟问题,在线等答案。。。 JSP初学者求救:关于web项目如何导入myeclipse 我最近兼职帮人做一jsp"网上商城"(只做后台,不做前台),第一次做,问个问题? 有关servlet 在 resin 中的配置问题 我去开的单身散分的,40分太少了,搞得别人认为单身就不值钱了。 菜鸟提问。大家帮下哦~~~~~很急~ 初学JSP,请大家提供一些学习的建议,或者介绍一些经典的学习书籍,谢谢! 嗨! 你们好 急,急。在线等 弱弱的请大家看一个小问题?我看了好久 都快看迷了
具体怎么做不晓得
你可以调研一下这方面的技术
tomcat集群页面缓存(静态化)---这个最有效果
2.采用memcached
3.优化sql
4.优化代码,避免竞争资源过于激烈
5.数据库分库,分表
<% while (rs.next()) { %>
<tr><td><%=rs.getString(1)%></td><td><%=rs.getString(2)%></td>.......
........
........
<%}%>
........
........
........
<% connection.close();%>
如果访问这个网页的客户端速度较慢,而这个网页生成的东西又比较多,会导致需要较长时间在传输上,然后才能执行到最后的close或者类似操作。需要改成后面那种“servlet操作jdbc,把结果放入request,然后jsp用”的模式。当然,这种情况下,也应当尽早释放资源
对数据库的操作是才用servlet操作jdbc,然后放如request,使用jstl页面展现。不过后台一直有一个socket线程再收取一些数据,每一秒至少有50KB的流量,差不多50条数据,并且都会去数据库查询。
资源每一次使用都会归还连接池的。这个我每一句代码都仔细检查过了。所以释放数据库连接应该是没有问题的。
MYSQL自己的缓存不够用么。。
2、做这个是不是需要改动很多代码?
3、sql都是简单的查询,最多关联3张表,并且都是小表
4、代码的话这个就不清楚是否会引起资源竞争激烈
5、都是小表,除了几张月份访问统计表有几百万条数据外。
2个作为tomcat负载均衡,使用的是windows 2003 server 的网络负载平衡
mysql独立一台
缓存机制该用哪一种?不需要改动太多代码