客户有500台客户端,企业需要做域控服务器,需要供应商出方案,该服务器方案如何配置?

客户有500台客户端,企业需要做域控服务器,需要供应商出方案,该服务器方案如何配置?,第1张

如果只是做域控制器的话,对服务器性能的要求不是特别高的。但是对服务器的稳定性要求比较高。你可以看看国产品牌正睿的这款双路四核服务器。标配一颗32纳米制程的至强E5606四核处理器(213GHz/8M缓存),英特尔5500服务器芯片组主板,4G DDR3 ECC 1333MHz内存,SATA2 500G服务器硬盘(6个热插拔盘位)可以在不关机的情况下增加或更换硬盘,双千兆网卡,性能可以说是非常不错。如果以后随着业务量的增长,觉得性能不够用了,还可以扩展到两颗处理器,达成8颗处理核心,最大支持48GB DDR3 REG ECC高速容错校验内存。
产品型号:I2476236S-H
产品类型:双路四核机架式服务器
处 理 器:Xeon E5606
内 存:4G DDR3 ECC
硬 盘:SATA2 500G
机 构:2U机架式
价 格:¥7999
银牌服务
全国三年免费上门售后服务,关键部件三年以上免费质保。
建议你升级到双电源(冗余电源),3个1TB硬盘做raid5阵列,这样有2TB可以用。既提升了磁盘读取性能,也保障了数据安全,即使坏掉一个硬盘,数据也不会丢失。两个硬盘同时坏掉的可能性就太低啦。总价也就在12000左右搞定。
给你推荐的是国产品牌正睿的服务器产品,他们的产品性价比很高,做工很专业,兼容性,质量之类的都有保障,售后也很完善,3年免费质保,3年免费上门售后服务,在业界口碑很不错。

FTP 命令 FTP 的主要 *** 作都是基于各种命令基础之上的 常用的命令有 · 设置传输模式 它包括ASCⅡ(文本) 和BINARY 二进制模式;· 目录 *** 作 改变或显示远程计算机的当前目录(cd dir/ls 命令);· 连接 *** 作 open命令用于建立同远程计算机的连接 close命令用于关闭连接;· 发送 *** 作 put命令用于传送文件到远程计算机 mput 命令用于传送多个文件到远程计算机;· 获取 *** 作 get命令用于接收一个文件 mget命令用于接收多个文件 编程思路 根据FTP 的工作原理 在主函数中建立一个服务器套接字端口 等待客户端请求 一旦客户端请求被接受 服务器程序就建立一个服务器分线程 处理客户端的命令 如果客户端需要和服务器端进行文件的传输 则建立一个新的套接字连接来完成文件的 *** 作 编程技巧说明 主函数设计在主函数中 完成服务器端口的侦听和服务线程的创建 我们利用一个静态字符串变量initDir 来保存服务器线程运行时所在的工作目录 服务器的初始工作目录是由程序运行时用户输入的 缺省为C盘的根目录 具体的代码如下 public class ftpServer extends Thread{private Socket socketClient;private int counter;private static String initDir;public static void main(String[] args){if(args length != ) {initDir = args[ ];}else{ initDir = c: ;}int i = ;try{System out println( ftp server started! );//监听 号端口ServerSocket s = new ServerSocket( );for(;;){//接受客户端请求Socket ining = s accept();//创建服务线程new ftpServer(ining i) start();i++;}}catch(Exception e){}} 线程类的设计线程类的主要设计都是在run()方法中实现 用run()方法得到客户端的套接字信息 根据套接字得到输入流和输出流 向客户端发送欢迎信息 FTP 命令的处理( ) 访问控制命令· user name(user) 和 password (pass) 命令处理代码如下 if(str startsWith( USER )){user = str substring( );user = user trim();out println( Password );}if(str startsWith( PASS ))out println( User +user+ logged in );User 命令和 Password 命令分别用来提交客户端用户输入的用户名和口令 · CWD (CHANGE WORKING DIRECTORY) 命令处理代码如下 if(str startsWith( CWD )){String str = str substring( );dir = dir+ / +str trim();out println( CWD mand succesful );}该命令改变工作目录到用户指定的目录 · CDUP (CHANGE TO PARENT DIRECTORY) 命令处理代码如下 if(str startsWith( CDUP )){int n = dir lastIndexOf( / );dir = dir substring( n);out println( CWD mand succesful );}该命令改变当前目录为上一层目录 · QUIT命令处理代码如下 if(str startsWith( QUIT )) {out println( GOOD BYE );done = true;}该命令退出及关闭与服务器的连接 输出GOOD BYE ( ) 传输参数命令· Port命令处理代码如下 if(str startsWith( PORT )) {out println( PORT mand successful );int i = str length() ;int j = str lastIndexOf( );int k = str lastIndexOf( j );String str str ;str = ;str = ;for(int l=k+ ;lstr = str + str charAt(l);}for(int l=j+ ;l<=i;l++){str = str + str charAt(l);}tempPort = Integer parseInt(str ) +Integer parseInt(str );}使用该命令时 客户端必须发送客户端用于接收数据的 位IP 地址和 位 的TCP 端口号 这些信息以 位为一组 使用十进制传输 中间用逗号隔开 · TYPE命令处理代码如下 if(str startsWith( TYPE )){out println( type set );}TYPE 命令用来完成类型设置 ( ) FTP 服务命令· RETR (RETEIEVE) 和 STORE (STORE)命令处理的代码if(str startsWith( RETR )){out println( Binary data connection );str = str substring( );str = str trim();RandomAccessFile outFile = newRandomAccessFile(dir+ / +str r );Socket tempSocket = new Socket(host tempPort);OutputStream outSocket = tempSocket getOutputStream();byte byteBuffer[]= new byte[ ];int amount;try{while((amount = outFile read(byteBuffer)) != ){outSocket write(byteBuffer amount);}outSocket close();out println( transfer plete );outFile close();tempSocket close();}catch(IOException e){}}if(str startsWith( STOR )){out println( Binary data connection );str = str substring( );str = str trim();RandomAccessFile inFile = newRandomAccessFile(dir+ / +str rw );Socket tempSocket = new Socket(host tempPort);InputStream inSocket = tempSocket getInputStream();byte byteBuffer[] = new byte[ ];int amount;try{while((amount =inSocket read(byteBuffer) )!= ){inFile write(byteBuffer amount);}inSocket close();out println( transfer plete );inFile close();tempSocket close();}catch(IOException e){}}文件传输命令包括从服务器中获得文件RETR和向服务器中发送文件STOR 这两个命令的处理非常类似 处理RETR命令时 首先得到用户要获得的文件的名称 根据名称创建一个文件输入流 然后和客户端建立临时套接字连接 并得到一个输出流 随后 将文件输入流中的数据读出并借助于套接字输出流发送到客户端 传输完毕以后 关闭流和临时套接字 STOR 命令的处理也是同样的过程 只是方向正好相反 · DELE (DELETE)命令处理代码如下 if(str startsWith( DELE )){str = str substring( );str = str trim();File file = new File(dir str);boolean del = file delete();out println( delete mand successful );}DELE 命令用于删除服务器上的指定文件 · LIST命令处理代码如下 if(str startsWith( LIST )) {try{out println( ASCII data );Socket tempSocket = new Socket(host tempPort);PrintWriter out = new PrintWriter(tempSocket getOutputStream() true);File file = new File(dir);String[] dirStructure = new String[ ];dirStructure= file list();String strType= ;for(int i= ;iif( dirStructure[i] indexOf( ) == ) { strType = d ;}else{strType = ;}out println(strType+dirStructure[i]);}tempSocket close();out println( transfer plete );}catch(IOException e){}LIST 命令用于向客户端返回服务器中工作目录下的目录结构 包括文件和目录的列表 处理这个命令时 先创建一个临时的套接字向客户端发送目录信息 这个套接字的目的端口号缺省为 然后为当前工作目录创建File 对象 利用该对象的list()方法得到一个包含该目录下所有文件和子目录名称的字符串数组 然后根据名称中是否含有文件名中特有的 来区别目录和文件 最后 将得到的名称数组通过临时套接字发送到客户端 lishixinzhi/Article/program/Java/JSP/201311/19211

看了下你和别人的对答
百人并发访问,又是企业核心的ERP系统,不要省钱,一定要万元以上。
ERP的特点是主要进行数据库的查询、计算和数据更新
如果并发多,或者查询复杂,对CPU、硬盘IO吞吐要求都比较高,所以单硬盘是万万不能的
考虑数据安全性,最少要有RAID,考虑数据吞吐,应该用SAS硬盘,这样几块硬盘就差不多万元了
至于你说的网卡,其实不用关心,因为数据主要是在服务器进行计算,传输出来的数据很少,多网卡是针对Vlan等特殊网络需求使用的,一般单网卡足够使用
推荐的话,我觉得联想的不错,虽然贵点,但是用的单位挺多
你可以选择塔式或者机架式,根据你们现场情况,CPU我觉得双U的应该适合你们,总费用2万多就差不多了
具体型号你可以上官网看下,比如RD630,肯定满足你们要求,不过价格稍微贵一点,3万来的,更低一点的型号也可以,但不要用入门的那种。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13407529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存