我正在尝试HAProxy进行TCP负载平衡.连接在单个IP上进入端口X,然后HAProxy使用"leastconn"平衡方法将这些连接平衡到后端,以保持连接数均匀.这是在Ubuntu 10.04 x64上.
我已经将内核配置中的file-max调高到700,000.我已经将每个进程的ulimit调高到大约400,000.我已经将haproxy配置中的maxconn调到了200,000.它报告看到这个maxconn罚款:
show info
Name: HAProxy
Version: 1.3.22
Release_date: 2009/10/14
Nbproc: 1
Process_num: 1
Pid: 1355
Uptime: 0d 4h38m46s
Uptime_sec: 16726
Memmax_MB: 0
Ulimit-n: 400013
Maxsock: 400013
Maxconn: 200000
Maxpipes: 0
CurrConns: 1113
PipesUsed: 0
PipesFree: 0
Tasks: 1113
Run_queue: 1
node: XXXXX
Run Code Online (Sandbox Code Playgroud)
这个前端负载均衡5个后端系统.但是,当每个后端达到400个会话时,它只是平衡停止平衡,并且只是推迟了其他连接.我可以用"smax"统计数据看到这一点.您将注意到每个会话的最大会话数为400,并且最大会话总数为2000:
show stat
#
pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,
protoa,FRONTEND,,,958,2000,2000,12624,6230219,6445523,0,0,0,,,,,OPEN,,,,,,,,,1,1,0,,,,0,0,0,406,
protoa,XXX1672,0,0,191,400,,3222,1249403,1286659,,0,,221,0,664,0,no check,1,1,0,,,,,,1,1,1,,2559,,2,0,,198,
protoa,XXX1674,0,0,192,400,,3106,1242103,1289247,,0,,178,0,535,0,no check,1,1,0,,,,,,1,1,2,,2572,,2,0,,171,
protoa,XXX1707,0,0,193,400,,3043,1266305,1305311,,0,,164,0,492,0,no check,1,1,0,,,,,,1,1,3,,2551,,2,0,,161,
protoa,XXX1782,0,0,189,400,,3046,1236790,1282690,,0,,204,0,619,0,no check,1,1,0,,,,,,1,1,4,,2429,,2,0,,190,
protoa,XXX1851,0,0,193,400,,3060,1235618,1281616,,0,,189,0,570,0,no check,1,1,0,,,,,,1,1,5,,2490,,2,0,,180,
protoa,BACKEND,0,0,958,2000,2000,12624,6230219,6445523,0,0,,956,0,2880,0,UP,5,5,0,,0,17645,0,,1,1,0,,12601,,1,0,,406,
protob,FRONTEND,,,4,6,2000,28,15204,15726,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,0,0,2,
protob,XXX1672,0,0,2,2,,5,2313,2322,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,1,,5,,2,0,,1,
protob,XXX1674,0,0,0,2,,5,3520,3803,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,2,,5,,2,0,,1,
protob,XXX1707,0,0,0,2,,8,3303,3214,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,3,,8,,2,0,,1,
protob,XXX1782,0,0,1,2,,5,3529,3745,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,4,,5,,2,0,,1,
protob,XXX1851,0,0,1,1,,5,2539,2642,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,5,,5,,2,0,,1,
protob,BACKEND,0,0,4,6,2000,28,15204,15726,0,0,,0,0,0,0,UP,5,5,0,,0,17645,0,,1,2,0,,28,,1,0,,2,
Run Code Online (Sandbox Code Playgroud)
这种限制来自哪里?我真的想把数十万个连接吸引到这个haproxy实例中.(机器有网络,CPU和RAM跟上)
甚至还有3D质心这样的东西?让我非常清楚 - 我已经在本网站和网络上阅读和阅读过去2天的质心,所以我完全了解该主题的现有帖子,包括维基百科.
那就是说,让我解释一下我要做的事情.基本上,我想选择边和/或顶点,但不是面.然后,我想将一个对象放在3D质心位置.
我会告诉你我不想要的东西:
我对有关质心的建议持开放态度,但我不知道这是如何工作的,因为顶点或边缘本身并没有定义任何质量,特别是当我选择了一个边缘循环时.
对于踢,我会向你展示我使用@Emile 的代码作为参考的一些PyMEL,但我不认为它的工作方式如下:
from pymel.core import ls, spaceLocator
from pymel.core.datatypes import Vector
from pymel.core.nodetypes import NurbsCurve
def get_centroid(node):
if not isinstance(node, NurbsCurve):
raise TypeError("Requires NurbsCurve.")
centroid = Vector(0, 0, 0)
signed_area = 0.0
cvs = node.getCVs(space='world')
v0 = cvs[len(cvs) - 1]
for i, cv in enumerate(cvs[:-1]):
v1 = cv
a = v0.x * v1.y - v1.x * v0.y
signed_area += a
centroid += sum([v0, v1]) * a …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种方法来改进Eclipse中的自动完成功能,我在偏好设置窗口中找到了这个首选项设置"自动插入公共前缀",Java - > Editor - > Content Assist.
我不知道它做了什么,因为我觉得没有任何区别.帮助说:
如果启用,代码辅助将自动插入所有可能的完成的公共前缀,类似于Unix shell扩展.即使在显示代码辅助窗口时,也可以重复使用它.
我需要为OpenGL框架获取CMSampleBuffer.我正在使用这个:
int s = 1;
UIScreen * screen = [UIScreen mainScreen];
if ([screen respondsToSelector:@selector(scale)]){
s = (int)[screen scale];
}
const int w = viewController.view.frame.size.width/2;
const int h = viewController.view.frame.size.height/2;
const NSInteger my_data_length = 4*w*h*s*s;
// allocate array and read pixels into it.
GLubyte * buffer = malloc(my_data_length);
glReadPixels(0, 0, w*s, h*s, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
// gl renders "upside down" so swap top to bottom into new array.
GLubyte * buffer2 = malloc(my_data_length);
for(int y = 0; y < h*s; y++){ …Run Code Online (Sandbox Code Playgroud) 我不明白为什么下面的代码不能编译:
class Abc
{
def b (x : String) = x + "abc"
def a (y : String) =
{
val ls : List[String] = y.lines toList
b (ls.head)
}
}
Run Code Online (Sandbox Code Playgroud)
Main.scala:8:错误:类型不匹配; 发现:java.lang.String required:Int b(ls.head)
当我将"y.lines toList"更改为
y.lines.toList
Run Code Online (Sandbox Code Playgroud)
甚至到
y.lines toList;
Run Code Online (Sandbox Code Playgroud)
它确实编译.
也许编译器理解它就像
(y.lines).toList(b (ls.head))
Run Code Online (Sandbox Code Playgroud)
或类似的东西,但我仍然不明白规则.
使git忽略所有目录中vim生成的临时文件的正确方法是什么(在整个系统中是全局的还是在本地为单个项目)?
是否有用于进行面部识别的python模块?它应该采用图像并将其与不同的图像进行比较.
我在Windows Azure上运行的应用程序处理来自用户(放入Azure队列)的传入请求,并将它们分配给真实世界的人.
人们有一定的时间来处理请求.如果没有人分配处理请求,我需要转移到一组新人.基本上,我想将这些任务排队,以便在特定时间处理,然后再次处理它们.如果其中一个用户处理任务,我需要将其出列,以便工作人员不再处理它.
我尝试使用以下静态函数时收到错误.
错误:
预期的类,委托,枚举,接口或结构
功能(和类):
namespace MyNamespace
{
public class MyClass
{
// Some other static methods that use Classes, delegates, enums, interfaces, or structs
public static string MyFunc(string myVar){
string myText = myVar;
//Do some stuff with myText and myVar
return myText;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这导致编译器愤怒地(红色)为字符串部分加下划线public static string.
所以,我认为这意味着string不是类,委托,枚举,接口或结构.
我可以使用什么而不是string返回字符串或类似字符串的对象?String在C#中似乎没有(大写S)类.
编辑:括号与某些注释代码不匹配 - 上面的代码工作正常,我的实际不匹配代码没有.谢谢!
我遇到了这种奇怪的情况,其中像javascript构造的foreach在IE中不起作用,但它在FF中工作.好吧,并非所有for..in这些特殊的功能都不起作用.我会发布代码.在IE8中测试过.使用XHTML DTD进行测试.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Test </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script type="text/javascript">
<!--
String.prototype.format = function() {
var formatted = this;
var mycars = new Array(); //some
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
var arg;
for (arg in mycars) { alert('it comes here');
formatted = formatted.replace("{" + arg + "}", arguments[arg]); }
return formatted;
};
String.prototype.format2 = function() …Run Code Online (Sandbox Code Playgroud)