我在一个负载均衡器下设置了多个服务器,通过TCP连接将请求分发给它们。换句话说,如果我在浏览器中发出许多请求,所有这些请求都将在打开TCP连接时发送到负载均衡器下的服务器之一。
但是,当我通过curl发出请求时,TCP连接似乎没有被重用,负载均衡器将每个请求发送到一个新服务器(循环算法)。
问题:
是否有可能启用带有CURL的TCP保持?如果是-怎么做?
我应该使用来自libcurl的东西吗,比如: --我应该怎么做呢?
这与我使用mac?有关吗?
谢谢。
我试过的是:
for i in {1..100}; do curl --keepalive --keepalive
我正在Unix系统上用C语言编写一个客户机-服务器(TCP)程序。客户端发送一些信息,服务器应答。每个子进程只有一个连接。新连接使用池中预先运行的进程,并且池的大小是动态的,因此如果空闲进程(不为客户端提供服务的进程)的数量下降得太少,它应该创建新的进程,同样,如果它变得太高,额外的进程应该被终止。
这是我的服务器代码。每个连接都使用fork()创建一个新的子进程。每个连接都在一个新进程中运行。我如何创建一个像我上面解释的动态池?
int main(int argc, char * argv[])
{
int cfd;
int listener = socket
根据Berkeley文档数据库的事务性(TS)和并发数据存储版本,多线程可以访问(和更改)数据库。
这是否也意味着我可以将两个程序链接到berkely‘客户端’,并让它们访问相同的数据库文件而没有任何问题?
(我问,因为对于单独的数据库服务器,这当然不是问题,但在Berkeley的情况下,数据库引擎与您的程序链接很长时间)
谢谢!
R