线程服务器
Ⅰ 线程太多会对服务器有什么影响
多线程技术可以提高cpu利用率,尤其是多核cpu的机器,提高并发执行效率。这是建立在cpu执行有空余版的情况权下的,多线程也并非没有代价,首先线程作为操作系统的最小调度单位也是要占用内存空间的,其次线程调度及上下文切换也会消耗性能。一般线程数为cpu个数*2+1较好,线程太多会占用内存,频繁的线程上下文切换也会导致效率降低。
Ⅱ 服务器CPU是不是线程数越多越好另外并发访问量最多1000的服务器用什么CPU比较好
你好.我来解答抄下你的问题
线程数只是衡量CPU性能的参数之一.并不完全由线程数量来决定CPU的性能.当然.在同等平台和同一级别的处理器.线程数越多性能越强.一般情况下.一台普通配置的服务器最大并发数可以达到几千.一台至强高配置的服务器的最大并发数可以达到上万.你所要求的并发数达到一千.基本上随便一个普通配置就可以满足了.除了配置以外.也要带宽够用才可以保障访问速度.
海腾数据杨闯为你解答.若有服务器问题需要帮忙的可以来找我
Ⅲ 一台java服务器可以跑多少个线程
Java的多线程可谓是Java编程的精华之一,运用得当可以极大地改善程序的响应时间,提高程序的并行性。在服务器程序中,由于往往要接收不同客户机的同时请求或命令,因此
Ⅳ 服务器说的“路、通道、线程”是什么意思
首先你要明白一点:路、核、线程三者的区别。
路:独立的CPU的个数。
核:单个CPU的物理核心(也叫真实核心)数量。
线程:程序中顺序控制流程的数量。
举个例子,双路四核八线程服务器指的就是该服务器有2个独立的CPU,每个CPU有2个物理核心(2x2=4核),每个核心拥有2条线程(4x2=8线程)。个人PC平台上很少出现“路”这个术语,以前奔腾时代英特尔公司面向桌面级用户倒是做过一些高端的双CPU平台,就是说一块主板上装了两个独立的CPU,和现在的双核CPU不是一个概念。多核CPU是由于后期技术发展后,芯片集成度越来越高,可以把多个物理核心集成在一个CPU上。打个比喻(虽然不恰当),如果把双路看做一对健康的双胞胎的话,那么双核就是一对连体双胞胎。
而所谓的四核八线程(注意:这里没有“路”定义)就是说,一颗独立的CPU上的真实核心数量为4,但是通过超线程技术又模拟出4个核心,看上去像8个核心了,但有4个是模拟出来的,不是真实的,以此类推。这就是所谓的超线程,目前是英特尔公司独有的技术。
至于“几通道”,它指的是服务器进行资源共享操作时的信道数量,它表现的是服务器的网络共享通信那一块的性能,和上面的三个术语面向的对象不同,他们仨表现的是服务器的数据处理那一块的性能,数量越高,服务器多任务处理能力越强。当然,这四个家伙一起展现了一台服务器的综合性能。
Ⅳ 服务器线程指什么有什么作用
服务器线程指的是服务器可以接受多个请求和任务达到更快更高的效率
Ⅵ 什么是多线程并发服务器
有多个 CPU 可用。单核机器上多线程的优势不明显。
线程间有共享数据。如果没有共享数据,用模型 3b 就行。虽然我们应该把线程间的共享数据降到最低,但不代表没有;
共享的数据是可以修改的,而不是静态的常量表。如果数据不能修改,那么可以在进程间用 shared memory,模式 3 就能胜任;
提供非均质的服务。即,事件的响应有优先级差异,我们可以用专门的线程来处理优先级高的事件。防止优先级反转;
latency 和 throughput 同样重要,不是逻辑简单的 IO bound 或 CPU bound 程序;
利用异步操作。比如 logging。无论往磁盘写 log file,还是往 log server 发送消息都不应该阻塞 critical path;
能 scale up。一个好的多线程程序应该能享受增加 CPU 数目带来的好处,目前主流是 8 核,很快就会用到 16 核的机器了。
具有可预测的性能。随着负载增加,性能缓慢下降,超过某个临界点之后急速下降。线程数目一般不随负载变化。
多线程能有效地划分责任与功能,让每个线程的逻辑比较简单,任务单一,便于编码。而不是把所有逻辑都塞到一个 event loop 里,就像 Win32 SDK 程序那样。
Ⅶ 关于多线程服务器
你说你绑定和监听都好了吧
那么服务就可以这样写
while(bWorking)
{
SOCKET sAccept = accept(sListen, NULL, NULL);
if(sAccept != SOCKET_ERROR)
CreateThread(NULL, 0, ThreadProc, (LPVOID)&sAccept, 0, NULL);
}
相应的线程回函数可以这样:
DWORD WINAPI ThreadProc(LPVOID lpPara)
{
SOCKET sComm = *((SOCKET*)lpPara);
//从这里答开始读写这个socket就可以了
}
这样就实现了accept一个连接就创建一个线程。
Ⅷ 服务器一般支持多少线程
这个是根据服务器配置(处理器)来的,主流的都是核心数* 2。你可以去服务器厂商(正睿)的网上找找服务器产品,查看一下参数和配置,几分钟就清楚了!
Ⅸ 一台java服务器跑多少个线程
首先确认你是cpu密集型的还是io密集型的,
如果是cpu密集型的线程数可专以设置到和cpu个数一致,
如果是io密集型的,首先需要确属认你io wait的时间,线程数和io wait时间成正比,具体需要根据测试得出。
Ⅹ Java的服务器一般运行几个线程比较合适
首先确认你是cpu密集型的还是io密集型的,
如果是cpu密集型的线程数可以设置到和回cpu个数一致,
如果是io密集型的,首先需答要确认你io wait的时间,线程数和io wait时间成正比,具体需要根据测试得出。