蛙蛙池塘  
人生价值的最好体现就是做好本职工作...
公告
  • 残荷听雨,梨花飞雪,落英缤纷时节。晓来谁染枫林醉?点点都是离人泪
    活着,就是快乐!自信,就是美丽! 有人爱,就是幸福。
    春天来了
    但愿野百合也有春天

    第三季度的计划



    木了
日历
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
统计
  • 随笔 - 223
  • 文章 - 2
  • 评论 - 2042
  • 引用 - 74

导航

与我联系

搜索

 

常用链接

留言簿(50)

我参加的小组

我参与的团队

我的标签

随笔分类

随笔档案

相册

朋友

积分与排名

  • 积分 - 475625
  • 排名 - 46

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

 

最新评论

共41页: 1 2 3 4 5 6 7 8 9 下一页 末页 
@overred
我明天不去公司,后天也不去,大后天也不去,大大后天也不去。。。。
@HOH
这种情况是有的,不过你说的是已经经过负载策略进入到具体服务器拉,具体你到某个服务器干那些耗资源的,那就管不了。这个估计得启用具体服务器策略,所以你B时间请求并此时该服务器很忙的话,外来用户肯定路由不到此主机
另,你轮询后把我放到主机A,我停几分钟发请求还不是一样。。。。 另你说的轮询是啥意思,如果俺我的理解就是一个主动一个被动 多谢。。。
另蛙蛙搞的东西真tmd多
...
.net 里的异步IO跟非阻塞 IOCP还是有区别的吧

比如在县城切换以及阻塞上
我感觉异步IO就是系统做完然后通知你(不能精确)
非阻塞的IOCP则是自己不停的看看我是可以做某个IO,只要是一个线程忙,在cpu上就不开其他的,如果阻塞则开启新线程
while (true)
{GetQueuedCompletionStatus。。。}

。。。

iocp在 vc里用得 多 。。。
蛙蛙今天没来上班 扣你工资。。。。
ubuntu里用syntatic好像勾一个task就装了mysql了
估计.net也不难吧
要改那么多配置文件么?
这次应该不乱了吧,我把斜体的译注换了个浅颜色。
晕,我费了半天劲格式化了一下,感觉更乱了。
@aierong
呵呵,深入讲讲的话大家就又眼花了,我就不啰嗦了
翻译同时能自己再深入讲讲更好
@PerfectDesign
呵呵,你们懂英语的直接看英文原文就可以了撒,回头我翻译完了,会把译注都去掉,整理一个简短的checklist,以帮助review设计和代码。
太长了,眼花,不过内容应该很好,顶一个
我把上半篇的评论移植过来,并把它删除掉。
---------
#1楼 [楼主] 蛙蛙池塘 Posted @ 2009-01-02 00:48
翻译这种东西太费劲了,哥们基本一天坐这儿没怎么动,晚饭也没吃,翻了十来个小时才翻这么点儿,感觉英语也没咋长进。 回复 引用 查看 删除 修改


#2楼 xwang Posted @ 2009-01-02 00:51
太勤奋了,呵呵
英语跟翻译基本没啥关系 指望这个不行哦 回复 引用 查看 删除


#3楼 210.192.101.* feilng [未注册用户] Posted @ 2009-01-02 12:54
.NET应用程序要获得好的性能和可伸缩性就不要用sql server 和 Remoting
因为用.net只因为他是一个还不错的api,这样可以使你暂时远离windows那底层太多的历史垃圾。技术层面来说我们需要的是一个合适的压榨机器的api而已。 回复 引用 删除


#4楼 [楼主] 蛙蛙池塘 Posted @ 2009-01-02 13:01
@feilng
呵呵,你应该把你的想法告诉ms开发小组,告诉他们SQL Server和Remoting应该如何改进,哪里做的影响性能和可伸缩性。
回复 引用 查看 删除 修改


#5楼 210.192.101.* feilng [未注册用户] Posted @ 2009-01-02 13:01
对于数据库和Communication这两大块.net都有其他更好的可用实现 回复 引用 删除


#6楼 210.192.101.* feilng [未注册用户] Posted @ 2009-01-02 13:03
你要做的只是用你的钱为好东西投票,有竞争才有发展 回复 引用 删除


#7楼 [楼主] 蛙蛙池塘 Posted @ 2009-01-02 13:23
@feilng
好东西用不好还不如不好的东西用好点儿呢,MS的好多东西大家都说不好用,有多少人是真正用好了的呀,sqlserver和remoting起码好用吧,在你的性能的瓶颈还没有到sqlserver和.net remoting自身之前,还是把这些东西优化好比较正确,一味的寻找更牛B的框架和工具我觉得不好。
回复 引用 查看 删除 修改
@PerfectDesign
SQL 2008 UDT?
@feilng
呵呵,别一杆子打死,说说你的理由,我来反驳你。
改进.NET应用程序的性能和可伸缩性就不要使用Remoting
沙发,我是见证者
@亚历山大同志
应该搞个策略服务:
这些主机定时向策略机(负责均衡策略机)发送自己状态:当前自己连接数和cpu以及内存使用
然后策略机根据这些状态分配

如果超过多长时间不发送则认为宕机
有时候均衡并不一定合理,比如a机有个程序导致我cpu非常高,但是用户非常少
------------------------------
这种方式并不一定可取,例如:如果请求在服务器上的处理时间大约只有2秒左右的话,那么前置机在A时间获取的服务器装载,在B时间去用的话,早就过时了,这种情况下还不如用轮询来的实在,所以还是要根据具体的情况,不知道大家怎么认为。
个人愚见:访问数据库都是基于存储过程的,我觉得这点虽然高效,但是灵活性太差,实际应用场景中sql的组合变化是很多的,并且很多都只有很小的差异,如果每种可能都去建立一个存储过程似乎又没有很好的利用sql.
蛙蛙 那转发请求的那个服务器上的IIS并发数限制要怎么办?要用专门的负载均衡硬件么?
学习...
@亚历山大同志
应该搞个策略服务:
这些主机定时向策略机(负责均衡策略机)发送自己状态:当前自己连接数和cpu以及内存使用
然后策略机根据这些状态分配

如果超过多长时间不发送则认为宕机
有时候均衡并不一定合理,比如a机有个程序导致我cpu非常高,但是用户非常少
其中一台机器负载过高的时候,要减少对这台服务器的访问是如何实现地呢?
以前银行模式是每个窗口作为一个服务器,请求在每个窗口这里排队,负载均衡由客户自己判断。
@12345
用于演示,理解原理,活跃思维,呵呵。
@红民
MSMQ不是消息队列吗,和本文关系不大吧。
@xiao_p
:),一起学习。
@feilng
嗯。
一个这种模式的组合就是一个银行网点,如果这个网点总负荷太大,就再组建其他网点,实现client负载均衡,让他们选择多个网点中的一个
这样就是一个生产者消费者问题
这些原理还是多从生活中找,比如银行柜台模式,请求排队,各台服务器根据自己情况抓取请求并处理
@hq5460
没LVC那么牛逼,本贴只是和大家探讨一个负载均衡的原理
lz,据我的经验,负载均衡器都是C语言写的比较好么?,请问lz写的应用在什么场合,似与F5,Netscale,NLB,LVS之类的么?
感觉 lz 最近在 新的方向上有很多的进展,学习ing!
最近在处理一个类似的问题,学习了,谢谢楼主分享
@Microshaoft
哈哈,老大,你还不如用我的山寨方法呢
@Microshaoft 18楼
嗯,不过你用SQL函数一个数组容易,拆一个字典就不太好拆了。
@蛙蛙池塘
我的方法是将字符串按分隔符拆到表变量,然后join

你的这种方法以及我的方法
经常被用于解决
in ('aa','bb','cc')
in 子句的参数“'aa','bb','cc'”避免使用动态SQL,避免SQL inject
@韦恩卑鄙
确实是,原理没变,都是利用XML
@Microshaoft 14楼
你这个能拆成key和value的对儿吗?你那个是实现SQL里的数组,不是实现字典的吧,我以前也整理过一些实用的SQL脚本,里面有你说的这个类似的脚本
http://www.cnblogs.com/onlytiancai/archive/2005/08/05/208208.html

@Microshaoft 15楼
不知原理是什么,估计也是不适宜在高并发的时候用。

好东西,呵呵
@蛙蛙池塘
SQL 2008
INSERT INTO dbo.Departments
VALUES (1, 'Human Resources', 'Margheim'),(2, 'Sales', 'Byham'),
(3, 'Finance', 'Gill'),(4, 'Purchasing', 'Barber'),
(5, 'Manufacturing', 'Brewer');

据说数据量大了,性能其实不高
直接拆字符串
CREATE function [dbo].[zufn_SplitStringToTable]
(
@Text varchar(8000), --待分拆的字符串
@Separator varchar(10) = ',' --数据分隔符
)RETURNS @Table TABLE(id int,F varchar(100))
AS
/*
select *
from zufn_SplitStringToTable(',,44,,,55,77,77,',',')
*/

BEGIN
set @Text = replace(@Text,' ','')
set @Separator = ','
DECLARE @SeparatorLen int
SET @SeparatorLen=LEN(@Separator+'$')-2
set @Text = replace(@Text,' ','')
declare @i int
set @i = 1
WHILE CHARINDEX(@Separator,@Text )>0
BEGIN
declare @v varchar(100)
set @v = (LEFT(@Text ,CHARINDEX(@Separator,@Text )-1))
INSERT @Table (id,F)
select @i,@v
where rtrim(ltrim(@v)) != ''
and not exists (select 1 from @Table where F = @v)
if @@rowcount > 0
begin
set @i = @i + 1
end
SET @Text = STUFF(@Text ,1,CHARINDEX(@Separator,@Text )+@SeparatorLen,'')
END
INSERT @Table (id,F)
select @i,@Text
where rtrim(ltrim(@Text)) != ''
and not exists (select 1 from @Table where F = @Text)
return
end
其实还是语法糖
和 2000时后的openxml
一样 都是先dom再select
优点是增加xpath支持了
Mark
@PerfectDesign
呵呵,我觉得那样的性能和我的也差不多了吧,如果关注性能的话,还是拼多条update语句用一个批查询比较好,批量插入的话SQL2008还有一次插入多行的inert语句。
@蛙蛙池塘
呵呵,我没说在sql里用正则啊,在传入的参数前就验证即是。
sql里用正则也可以,方法有二
一,sql clr
二,调用vbs
这也是个不错的解决方案
本文所说的方法适用于那种需求灵活,并发请求不太大的情况,
@PerfectDesign
SQL里正则怎么用,贴下代码,而且用字符串的话varchar有上限吧。
@5yplan
你是谁呀,怎么还有宝玉的openlab源码。
共41页: 1 2 3 4 5 6 7 8 9 下一页 末页 
 
Copyright © 蛙蛙池塘 Powered by: 博客园 模板提供:沪江博客