当前位置: 首页 > news >正文

胶州网站建设规划网站制作厂家电话多少

胶州网站建设规划,网站制作厂家电话多少,wordpress设置配置文件报错,本周时事新闻概要10条NFS 使用 RPC 来进行客户端和服务器之间的通信。而在 RPC 的底层#xff0c;NFS 使用 TCP 来进行数据的可靠传输#xff0c;以便客户端和服务器之间能够有效地传输文件和进行远程调用#xff08;默认为TCP,也可调整为udp#xff09; 1.首先服务器端启动RPC服务portmapNFS 使用 TCP 来进行数据的可靠传输以便客户端和服务器之间能够有效地传输文件和进行远程调用默认为TCP,也可调整为udp 1.首先服务器端启动RPC服务portmap并开启portmap的111端口。 2.服务器端启动NFS服务并向RPC注册端口信息。 3.客户端启动RPCportmap服务向服务端的RPC(portmap)服务请求服务端的NFS端口。 4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。 5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输(网络传输基于TCP)。 当客户端读取或写入文件时它会向服务端发送相应的文件访问请求随后服务端会将文件数据通过网络传输给客户端或者接收客户端发送的写入数据。 一、服务器端挂载参数调整 如果 /etc/exports 和 /etc/fstab 中都定义了对同一共享目录的参数那么 /etc/exports 中的参数会优先生效。 这是因为 /etc/exports 是 NFS 服务器用于指定共享目录和访问控制参数的主要配置文件而 /etc/fstab 是用于指定本地文件系统挂载点和选项的文件。 /etc/exports 详细参数介绍 /data *(rw,async,no_root_squash,no_subtree_check,insecure) ro 只读访问 rw 读写访问 sync 同步写入强制写操作等待数据同步到磁盘后再返回成功 async 异步写入不必等待数据真正写入磁盘就返回成功资料会先暂存于内存中而非直接写入硬盘 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay默认 延迟写入如果有多个客户端要对同一个共享目录进行写操作则将这些操作集中执行。对有很多小的IO写操作时使用该选项可以有效的提高效率 no_wdelay 不延迟写入如果有多个客户端要对同一个共享目录进行写操作则立即写入。当设置了async选项时no_wdelay选项无效应与sync配合使用 hide 在NFS共享目录中不共享其子目录 no_hide 共享NFS目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时强制NFS检查父目录的权限默认 no_subtree_check 和上面相对不检查父目录权限 root_squash root权限转换为nobody no_root_squash root权限保留不转换 all_squash 所有用户权限都转换为nobody no_all_squash 用户权限保留前提UID、GID一致 root_squash root用户的所有请求映射成如anonymous用户一样的权限默认 no_root_squas root用户具有根目录的完全管理访问权限 anonuidxxx 指定NFS服务器/etc/passwd文件中匿名用户的UID anongidxxx 指定NFS服务器/etc/passwd文件中匿名用户的GID NFS没有用户认证机制且数据在网络上传送的时候是明文传送一般只能在局域网中使用。不需要输入账号密码NFS 一般是 IP 认证定义好可访问该NFS的机器ip地址即可。 NFSv4 引入了身份认证和加密机制可提供更高的安全性。NFSv4 支持基于 Kerberos 的身份认证为每个连接实现了加密并且提供了更为灵活的权限控制。 1当设置all_squash时访客时一律被映射为匿名用户(nfsnobody) 2当设置no_all_squash时访客被映射为服务器上相同uid的用户因此在客户端应建立与服务端uid一致的用户否则也映射为nobody。root除外因为root_suqash为默认选项除非指定了no_root_squash。 1默认值。当设置root_squash时访客以root用户访问NFS服务端时被映射为nobody用户 2当设置no_root_squash时访客以root用户访问NFS服务端时被映射为root用户。以其他用户访问时同样映射为对应uid的用户因为no_all_squash是默认选项。 exportfs -s 查看 nfs 服务已加载的配置情况。 exportfs -rv 重载 /etc/exports。 性能优化相关 nfsstat -s #查看服务器端nfs统计信息 badcalls: 表示在 RPC 调用中遇到的错误次数。 null: 表示空操作的数量这个数字应该很小因为空操作通常不会占据太多比例。 compound: 组合操作的数量在 NFSv4 中多个操作可以被组合成一个复合操作这里统计的是复合操作的数量。 对于操作数量超过 1% 的操作特别是超过 5% 的操作可能需要更详细地关注和优化 access: 该操作的数量为 4272032占比 1%。access 操作用于检查文件的访问权限频繁的 access 操作可能会导致性能问题因此需要注意是否有不正常的频繁访问行为。 getattr: 该操作的数量为 19389625占比 7%。getattr 操作用于获取文件属性如果 getattr 操作频繁也可能会导致性能问题需要注意是否有过多的文件属性获取操作。 sequence: 该操作的数量为 106195445占比 42%。sequence 操作用于客户端和服务器之间的顺序号处理这个操作占据了统计中最大的比例可能需要进一步调查以确定该操作是否正常并检查是否有异常的序列操作频率。 test_stateid: 该操作的数量为 81656010占比 32%。test_stateid 操作用于在服务器上测试状态 ID频繁的状态测试操作可能会影响性能需要注意是否有过多的状态 ID 测试操作。 getfh: 该操作的数量为 4257319占比 1%。getfh 操作用于获取文件句柄用于标识文件在 NFS 服务器上的唯一位置。如果 getfh 操作频繁可能需要进一步了解具体的使用场景和原因以确定是否符合预期。 open: 该操作的数量为 2923718占比 1%。open 操作用于打开文件或目录。如果 open 操作频繁可能需要进一步了解具体的文件访问模式和使用方式以确定是否可以优化或改进操作。 lookup 和 lookup_root: 这两个操作的占比分别为 2% 和 0%。lookup 操作用于查询目录并返回文件或目录句柄。lookup_root 操作是查询根目录的操作。如果这两个操作频繁可能需要进一步了解文件系统结构和访问模式以确定是否可以优化或改进操作。 1.建议所有 NFS 用户禁用 NFS 服务器委派功能。这是为了避免Linux 内核错误该错误会导致 NFS 客户端因大量TEST_STATEIDNFS 消息产生的网络流量 过多而急剧减慢 。 服务器端关闭leases 委派(以下是临时调整永久生效修改/etc/sysctl.conf) echo 0 /proc/sys/fs/leases-enable #fs.leases-enable用于在 NFS 服务器上启用或禁用租约功能。 在 NFS 服务器上启用了租约功能后客户端可以请求租约来锁定文件并指定锁定的类型共享锁或独占锁。通过租约服务器可以确保同时只有一个客户端持有特定文件的独占访问权限或者多个客户端持有共享访问权限。 sysctl -w fs.leases-enable0 ps:如果重新挂载为 4.0我们可能不会看到该问题因为它会避免 TEST_STATEID。 2.调整nfsd数量 /etc/default/nfs-kernel-server文件是nfs-kernel-server服务的系统配置文件. // RPCNFSDCOUNT8 nfsd 数量 /etc/nfs.conf文件是NFS服务器的全局参数文件。 // [nfsd]中threads字段 默认8 nfsd数量 如果需要更改内核nfsd的相关参数就需要修改/etc/default/nfs-kernel-server文件如果需要更改NFS服务器的共享或权限等设置就需要修改/etc/nfs.conf文件。 /etc/nfs.conf中 [mountd] # threads1 [nfsd] # threads8 nfsd线程 nfsd线程是负责处理客户端请求的守护进程线程其中nfsd表示NFS守护进程NFS daemon。它主要负责处理客户端对NFS服务器上共享的文件系统的访问请求包括读取、写入、删除、修改文件等操作。 nfsd线程通过监听客户端的NFS请求并创建相应的工作线程来处理这些请求实现对远程文件系统的数据访问和管理。 mounted线程 mounted线程是mountd服务NFS mount服务的线程它负责处理客户端对NFS服务器上文件系统的挂载和卸载请求。 mountd服务是NFS服务器上的一个服务其主要作用是处理客户端对NFS共享目录的挂载请求以便客户端可以通过挂载点访问远程文件系统。 NFSD缺省值对于小型系统来说是一个很好的起点但对于拥有两个以上客户的客户机系统或者拥有两个以上客户机的服务器来说就多半需要增加了。 查看启动的nfsd 进程 ps -ef | grep nfs 在服务器端,一定要确保有足够的 NFS 内核线程来处理所有客户机.在默认情况Red Hat系统会启动8个线程.对于繁忙的 NFS 服务器,应该提高这个数字,比如32或64. 2-1.可以用 nfsstat -rc 命令评估客户机,了解是否有阻塞的现象,这个命令显示客户机远程过程调用RPC统计数据. 例: # nfsstat -rc Client rpc stats: calls retrans authrefrsh 95374234 3432 0 第二列retrans是3432,这表示从上一次系统启动以来出现了3432次重新传输的情况.这个数字比较大,这可能意味着 NFS 守护进程的线程不足以处理所有客户机的请求就应该考虑增加NFS线程。 2-2.确定更多 NFS 线程是否有助于提高性能的一种方法是cat /proc/net/rpc/nfsd中的数据以了解 NFS 守护进程的负载。以th开头的输出行列出了线程数最后 10 个数字是秒数的直方图前 10% 的线程忙碌后 10%依此类推。 理想情况下希望最后两个数字为零或接近零表示线程正忙并且您没有“浪费”任何线程。如果最后两个数字相当高应该添加 NFS 守护进程因为 NFS 服务器已成为瓶颈。如果最后两个、三个或四个数字为零则可能没有使用某些线程。就我个人而言如果我的系统有足够的内存我不介意这种情况因为我可能已经到了需要更多 NFS 守护进程的地步。 NFS的队列大小 在linux 2.2和2.4内核里,默认的8个nfsd的输入队列大小是64K,2.6内核是108K.下面将设置为较合理的值256K # echo 262144 /proc/sys/net/core/rmem_default # echo 262144 /proc/sys/net/core/rmem_max # echo 262144 /proc/sys/net/core/wmmen_default # echo 262144 /proc/sys/net/core/wmmen_max 作为生产 HPC 系统的经验法则我倾向于在 NFS 服务器上放置不少于 64GB 的内存因为内存总体上更便宜。你总是可以使用更少的内存也许是 16GB但你可能会付出性能代价。但是如果您的应用程序不执行太多 I/O那么权衡可能是值得的。 如果您选择使用异步 NFS 模式您将需要更多内存来利用async 因为 NFS 服务器将首先将 I/O 请求存储在内存中响应 NFS 客户端然后通过让文件系统将其写入稳定存储。因此您需要尽可能多的内存以获得最佳性能。 二、nfs-client 客户端挂载选项调整 (多个选项之间用逗号分开) nfs挂载参数文档https://linux.die.net/man/5/nfs vim /etc/fstab 10.1.1.100:/data /nfs-data/data nfs4 rw,noatime,nodiratime,vers4.2,rsize1048576,wsize1048576,namlen255,hard,noresvport,prototcp,timeo600,retrans2,secsys,clientaddr10.3.1.76,local_locknone,addr10.1.1.100 0 0 nfsstat -c #查看客户端nfs统计信息 lookup 操作用于查找指定路径的文件或目录。从数据看该操作的数量较大占比 3%。 test_stateid: 该操作的数量为 271710649占比 65%。test_stateid 操作通常用于测试状态 ID。 性能优化相关参数 1.atime 更新访问时间 这个建议别用会降低nfs的性能 可以加上noatime 2.auto 能够被自动挂载通过-a选项 3.async 异步挂载 sync同步挂载 sync适用在通信比较频繁且实时性比较高的场合比如Linux系统的rootfs通过nfs挂载如果搞成async当执行大型网络通信程序如gdbserver与client之类则系统此时会无响应报一些“NFS is not responding“之类的错误。 当然并非sync就比async好如果在远程挂载点处进行大批量数据生成如解压一个大型tar包此时速度会非常慢我对比了一下在nfs server端解压只需半分多钟在client端则要40来分钟性能严重受到影响。 当改成async后在client端解压只需4分多钟虽然比server端慢一些但性能已得到很大改善。所以当涉及到很多零碎文件操作时选用async性能更高。 vim /fstab 10.1.1.115:/data /data nfs auto,async,nofail,noatime,nolock,intr,tcp,actimeo1800 0 0 客户端的async 参数控制的是客户端对服务器的读写操作的处理方式。 4.timeo 超时选项是 NFS 客户端在重新传输数据包未收到 ACK之前在 NFS 服务器上等待的时间量。timeo的值以十分之一秒为单位给出因此如果timeo为5则 NFS 客户端将等待 0.5 秒再重新传输。默认值为0.7 0.07 秒 5.retrans NFS 客户端将尝试重新传输数据包的次数。如果值为5客户端将重新发送 RPC 数据包五次两次尝试之间等待timeo秒。如果在最后一次尝试后 NFS 服务器没有响应您将收到一条消息Server not responding。NFS 客户端然后重置 RPC 传输尝试计数器并以相同的方式再次尝试相同的timeo和retrans值 在拥塞的网络上您经常会看到 RPC 数据包的重传。一个很好的判断方法是运行 nfsstat -r命令并查找标有retrans的列。如果数量很大则网络可能非常拥塞。如果是这种情况您可能希望增加timeo和retrans的值以增加尝试次数和 RPC 尝试之间的时间量。虽然执行此操作会降低 NFS 性能但它可能有助于平衡网络流量从而减少拥塞。根据我的经验摆脱拥塞和丢包可以带来更好、更均匀的性能。 6.wsize/rsize 两个 NFS 客户端选项指定用于写入 ( wsize ) 和读取 ( rsize )的数据块的大小。如果您不指定块大小则默认值由 NFS 版本和所使用的内核决定。如果您已经运行并配置了 NFS检查当前块大小的最佳方法是运行命令 cat /proc/mounts 在 NFS 客户端上并查找wsize和rsize值。 减小 rsize 和 wsize 可以在一个比较拥塞的网络上通过向每个 NFS 请求发送较短的包列从而提高 NFS 性能。但是带来一个副作用就是需要更多的包在网络上发送数据增加了网络的通信量同时在服务器和客户机上都增加了 CPU 的开销。 如果您的 NFS 文件系统是通过一个高速网络挂载的如 SP Switch则较大的读写包能提高 NFS 文件系统的性能。在 NFS V3中rsize 和 wsize 可以设置最大至 65536缺省值是 32768。 7.NFS文件缓存 FS-Cache它将 NFS 服务器上的文件缓存到本地存储设备上例如硬盘驱动器或 SSD加快访问速度。当缓存块不命中时会从服务器重新获取数据并缓存到本地磁盘下来。 添加缓存文件系统FSCache 缓存文件系统是以客户端为中心的。您可以使用客户端上的缓存文件系统来减少服务器负载。使用缓存文件系统可以从服务器逐块获取文件。文件被发送到客户端的内存并直接进行操作。数据被写回服务器磁盘。 将缓存文件系统添加到客户端安装可为每个客户端提供本地副本。缓存文件系统的/etc/fstab如下所示 # device device mount FS fsck mount mount # to mount to fsck point type pass at boot options server:/usr/dist cache /usr/dist cachefs 3 yes ro,backfstypenfs,cachedir/cache 缓存文件系统适用于以读取为主的文件系统的情况例如应用程序文件系统。此外您应该使用缓存文件系统在慢速网络上共享数据。与复制服务器不同缓存文件系统可以与可写文件系统一起使用但性能会随着写入百分比的上升而降低。如果写入百分比太高缓存文件系统可能会降低 NFS 性能。 如果您的网络是通过路由器互连的高速网络您还应该考虑使用缓存文件系统。 如果 NFS 服务器经常更新请不要使用缓存文件系统因为这样做会导致比通过 NFS 操作更多的流量。 要监视缓存文件系统的有效性请使用cachefsstat命令在Solaris 2.5 及更高版本的操作环境中可用。 system# /usr/bin/cachefsstat [-z] path -z初始化统计信息。您应该在再次执行cachfsstat之前执行cachefs -z仅限超级用户以收集缓存性能的统计信息。打印的统计信息反映了统计信息重新初始化之前的统计信息。 path是缓存文件系统挂载的路径。如果不指定路径则使用所有已安装的缓存文件系统。 如果没有-z选项您可以以常规 UNIX 用户身份执行此命令。由cachefsstat命令提供的统计信息包括缓存命中和未命中、一致性检查和修改操作 缓存命中率缓存命中占总尝试次数的百分比后面是实际命中和未命中的次数 一致性检查执行的一致性检查的数量。接下来是通过的数字和失败的数字。 修改修改操作的数量包括写入和创建。 cachefsstat命令的示例是 system% /usr/bin/cachefsstat /home/sam cache hit rate: 73% (1234 hits, 450 misses) consistency checks: 700 (650 pass, 50 fail) modifies: 321 在前面的示例中文件系统的缓存命中率应高于百分之三十。如果缓存命中率低于百分之三十则意味着文件系统上的访问模式是广泛随机的或者缓存太小。 一致性检查的输出意味着缓存文件系统会与服务器进行检查以查看数据是否仍然有效。高失败率15% 到 20%意味着感兴趣的数据正在快速变化。高速缓存的更新速度可能比适合高速缓存文件系统的更新速度更快。当您使用一致性检查的输出和修改次数时您可以了解此客户端或其他客户端是否正在进行更改。 修改的输出是客户端将更改写入文件系统的次数。此输出是了解命中率为何较低的另一种方法。高频率的修改操作可能伴随着大量的一致性检查和较低的命中率。 8.NFS文件属性缓存 属性缓存是在客户端上缓存文件的元数据如权限、属主、属组、访问时间等信息以减少对服务器的属性查询次数。 ac / noac 选择客户端是否可以缓存文件属性。如果这两个选项均未指定或者指定了ac则客户端会缓存文件属性。 为了提高性能NFS 客户端缓存文件属性。每隔几秒NFS 客户端就会检查每个文件属性的服务器版本是否有更新。在客户端再次检查服务器之前在这些小时间间隔内服务器上发生的更改将不会被检测到。 使用noac选项可以在访问相同文件的 NFS 客户端之间提供更高的缓存一致性但会带来严重的性能损失。 acregminn NFS 客户端在从服务器请求新属性信息之前缓存常规文件属性的最短时间以秒为单位。如果未指定此选项NFS 客户端将使用最少 3 秒。 acregmaxn NFS 客户端在从服务器请求新属性信息之前缓存常规文件属性的最长时间以秒为单位。如果未指定此选项NFS 客户端将使用最多 60 秒。 acdirminn NFS 客户端在从服务器请求新属性信息之前缓存目录属性的最短时间以秒为单位。如果未指定此选项NFS 客户端将使用最少 30 秒。 acdirmaxn NFS 客户端在从服务器请求新属性信息之前缓存目录属性的最长时间以秒为单位。如果未指定此选项NFS 客户端将使用最多 60 秒。 actimeon 使用actimeo将所有acregmin、acregmax、acdirmin和acdirmax设置为相同的值。如果未指定此选项NFS 客户端将使用上面列出的每个选项的默认值。 注意 如果要更改选项首先必须卸载 NFS 文件系统更改选项然后重新安装文件系统。 mount -a 是一个用于挂载mount配置文件 /etc/fstab 中所有已定义但尚未挂载的文件系统的命令。不过这东西开机时已经挂载了你如果没有修改 fstab 增加新的东西那就肯定没输出。 mount -a 会忽略所有已经完成的操作也就是开机时 fstab 已经挂载后而且你没有修改 fstab 。你再运行 mount -a 他会自动忽略全部 fstab 内容。 将同时发起的NFS请求数量修改为128 重启reboot echo options sunrpc tcp_slot_table_entries128 /etc/modprobe.d/sunrpc.conf echo options sunrpc tcp_max_slot_table_entries128 /etc/modprobe.d/sunrpc.conf sysctl -w sunrpc.tcp_slot_table_entries128 cat /proc/sys/sunrpc/tcp_slot_table_entries 服务器端客户端 TCP参数设置 NFS 客户端和 NFS 服务器有很多TCP 参数可以调整。Internet 上的许多文章都讨论了 NFS 和一般网络流量的 TCP 调整选项。确切的值因您的具体情况而异。在这里我想讨论两个提高 NFS 性能的选项系统输入和输出队列。 增加输入和输出队列的大小允许通过 NFS 传输更多数据。实际上您正在增加可以存储数据的缓冲区的大小。内存中可以存储的数据越多NFS 处理它的速度就越快即排队的数据越多。NFS 服务器 NFS 守护进程共享相同的套接字输入和输出队列因此如果队列较大则所有 NFS 守护进程都有更多缓冲区并且可以更快地发送和接收数据。 对于输入队列要修改的两个值是/proc/sys/net/core/rmem_default读取队列的默认大小以字节为单位和/proc/sys/net/core/rmem_max最大大小读取队列以字节为单位。这些值很容易修改 echo 262144 /proc/sys/net/core/rmem_default echo 262144 /proc/sys/net/core/rmem_max 这些命令将读取缓冲区大小更改为 256KiB基数 2这是 NFS 守护进程共享的。您可以对 NFS 守护程序共享的写入缓冲区执行相同的操作 echo 262144 /proc/sys/net/core/wmem_default echo 262144 /proc/sys/net/core/wmem_max 更改这些值后您需要重新启动 NFS 服务器才能使它们生效。但是如果您重新启动系统这些值将消失并使用默认值。要使这些值在重新启动后仍然存在您需要在/etc/sysctl.conf 文件中配置。 请注意增加缓冲区大小并不一定意味着性能会提高。这只是意味着缓冲区大小更大。您将需要使用各种缓冲区大小测试您的应用程序以确定增加缓冲区大小是否有助于提高性能。 另外nfs处理大量小文件导致的性能不佳事实上小文件性能实际上是许多文件性能问题即当我们在一个文件夹中有大量文件或者最终只有数百万甚至数十亿个文件时。最好加上缓存减少网络交互频率。 三、分析磁盘IO性能是否达上限 iostat命令是IO性能分析的常用工具 apt install sysstat iostat options device name -c: 显示CPU使用情况 -d: 显示磁盘使用情况 --dec{ 0 | 1 | 2 }: 指定要使用的小数位数默认为 2 -g GROUP_NAME { DEVICE [...] | ALL } 显示一组设备的统计信息 -H 此选项必须与选项 -g 一起使用指示只显示组的全局统计信息而不显示组中单个设备的统计信息 -h 以可读格式打印大小 -j { ID | LABEL | PATH | UUID | ... } [ DEVICE [...] | ALL ] 显示永久设备名。选项 ID、LABEL 等用于指定持久名称的类型 -k 以 KB 为单位显示 -m 以 MB 为单位显示 -N 显示磁盘阵列LVM 信息 -n 显示NFS 使用情况 -p [ { DEVICE [,...] | ALL } ] 显示磁盘和分区的情况 -t 打印时间戳。时间戳格式可能取决于 S_TIME_FORMAT 环境变量 -V 显示版本信息并退出 -x 显示详细信息(显示一些扩展列的数据) -y 如果在给定的时间间隔内显示多个记录则忽略自系统启动以来的第一个统计信息 常用命令行 iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)每1s收集1次数据共收集10次 iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)每2s收集1次数据 一个系统的吞度量承压能力与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高外部系统接口、IO影响速度越慢系统吞吐能力越低反之越高。 系统吞吐量几个重要参数QPSTPS、并发数、响应时间。 QPSTPS每秒钟request/事务 数量 并发数系统同时处理的request/事务数 响应时间一般取平均响应时间 QPSTPS 并发数/平均响应时间 iostat -d -x -k 1 10 #查看设备使用率%util、响应时间await等详细数据 每1s收集1次数据总共收集10次 r/s每秒从设备读取的请求数量读取操作/秒 rkB/s每秒从设备读取的数据量以千字节为单位 rrqm/s每秒从磁盘请求读取的请求数量合并读请求/秒 %rrqm合并的读请求所占总请求数的百分比 r_await平均每个读请求的等待时间毫秒 rareq-sz单个读请求的平均大小以千字节为单位 w/s每秒向设备写入的请求数量写入操作/秒 wkB/s每秒向设备写入的数据量以千字节为单位 wrqm/s每秒从磁盘请求写入的请求数量合并写请求/秒 %wrqm合并的写请求所占总请求数的百分比 w_await平均每个写请求的等待时间毫秒 wareq-sz单个写请求的平均大小以千字节为单位 d/s每秒向设备发出的丢弃请求的数量数据丢失/秒 dkB/s每秒从设备丢弃的数据量以千字节为单位 drqm/s每秒从磁盘请求丢弃的请求数量合并丢弃请求/秒 %drqm合并的丢弃请求所占总请求数的百分比 d_await平均每个丢弃请求的等待时间毫秒 dareq-sz单个丢弃请求的平均大小以千字节为单位 f/s每秒从设备请求失败的数量失败操作/秒 f_await平均每个失败请求的等待时间毫秒 aqu-sz设备请求数队列长度的平均值调度器队列长度 %util设备的活动时间百分比设备繁忙的时间比例 iostat -c 1 10 #查看cpu状态每1s收集1次数据总共收集10次 将 CPU 的执行时间划分为若干个时间片,每个进程在一个时间片内轮流使用 CPU,当时间片用完后,系统将CPU分配给下一个进程 %user: 表示用户级别的 CPU 使用率即用于执行用户进程的CPU时间百分比。 %nice: 表示调整过优先级的用户级进程的CPU使用率这些进程的优先级通过nice命令或相关接口调整过。 Nice值的范围从-20到19不同系统的值范围是不一样的正值表示低优先级负值表示高优先级值为零则表示不会调整该进程的优先级。 %system: 表示系统级别的 CPU 使用率即用于执行内核系统进程的 CPU 时间百分比。 %iowait: 表示 CPU 由于等待 I/O 操作而闲置的时间百分比包括等待磁盘 I/O、网络 I/O 等。 %steal: 表示当宿主机是一个虚拟化服务器时被其他虚拟操作系统占用(偷取)的 CPU 时间百分比。 %idle: 表示 CPU 空闲时间的百分比即 CPU 没有执行任何任务的时间百分比。 拓展 top命令推荐htop 可以看每个核的cpu使用率 cpu 百分比参数含义%Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st us (user)表示用户空间程序执行的时间百分比。 sy (system)表示系统内核程序执行的时间百分比。 ni (nice)表示执行“nice”命令调整过优先级的用户空间程序的时间百分比。 Nice值的范围从-20到19不同系统的值范围是不一样的正值表示低优先级负值表示高优先级值为零则表示不会调整该进程的优先级。 id (idle)表示 CPU 空闲时间的百分比。 wa (wait)表示 CPU 等待 I/O 操作的时间百分比。 hi (hardware interrupts)表示 CPU 处理硬件中断的时间百分比。 si (software interrupts)表示 CPU 处理软件中断的时间百分比。 st (steal)表示当宿主机是一个虚拟化服务器时被其他虚拟操作系统占用(偷取)的 CPU 时间百分比。 性能分析 I/O瓶颈 如果%iowait的值过高表示硬盘可能存在I/O瓶颈。还需结合其他参数具体分析解释如下 %iowait是%idle的一个子集其计算方法是这样的 如果 CPU 此时处于 idle 状态内核会做以下检查 - 1、是否存在从该 CPU 发起的一个未完成的本地磁盘IO请求 - 2、是否存在从该 CPU 发起的网络磁盘挂载的操作 如果存在以上任一情况则 iowait 的计数器加 1如果都没有则 idle 的计数器加 1。 也就是说 如果当前有进程在等待 I/O 请求的话那么增加 iowait 的时间。如果当前没有进程在等待 I/O 请求的话那么增加 idle 的时间。 所以正确解释是有进程在等待 IO被阻塞了并且当前系统是空闲的没有其他进程在运行。 内存不足 %idle值高表示CPU较空闲如果%idle值高但系统响应慢时有可能是CPU在等待分配内存此时应加大内存容量 CPU资源不足 如果%idle值持续低于10那么系统的CPU处理能力相对较低表明系统中最需要解决的资源是CPU IOPS 计算 计算方式 r/sw/s I/O per second即每秒钟可以处理的I/O个数。 随机读写频繁的应用一般指I/O小于64KB的应用场景如小文件存储(图片)、OLTP数据库、邮件服务器关注随机读写性能IOPS是关键衡量指标。 吞吐量 计算 计算方式 rkB/swkB/s 顺序读写频繁的应用传输大量连续数据如电视台的视频编辑视频点播VOD(Video On Demand)关注连续读写性能。数据吞吐量是关键衡量指标。 其他IO分析工具 pidstat -d 1 -p 500 //按进程展示io信息 -d 间隔1s -p 指定进程号 iotop //监视系统中各进程磁盘 I/O 活动可排序 四、测试服务器端 与 客户端 网络速度 iperf3 -s //服务器端监听5201 客户端测试 iperf3 -c 10.1.1.100 -P 1 -n 1000M // -P 传输线程总数 -n 传输数据总量 网卡的带宽速率维持在80Mbits/sec左右而测试的服务器是千兆网卡这个测试值也基本合理。 在输出的最后iperf还给出了总的数据发送、接收量并给出了带宽速率平均值。通过这些值基本可以判断网络带宽是否正常网络传输状态是否稳定。 interval传输间隔 Transfer传输数据量 Bitrate传输速率 Retr 重试 Cwnd拥塞窗口 Connecting to host 10.1.1.115, port 5201 [ 5] local 10.3.1.172 port 51808 connected to 10.1.1.115 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 9.57 MBytes 80.3 Mbits/sec 0 199 KBytes [ 5] 1.00-2.00 sec 11.7 MBytes 97.8 Mbits/sec 0 199 KBytes [ 5] 2.00-3.00 sec 9.67 MBytes 81.1 Mbits/sec 0 199 KBytes [ 5] 3.00-4.00 sec 11.5 MBytes 96.2 Mbits/sec 1 222 KBytes [ 5] 4.00-5.00 sec 7.25 MBytes 60.8 Mbits/sec 0 222 KBytes [ 5] 5.00-6.00 sec 8.56 MBytes 71.8 Mbits/sec 0 222 KBytes [ 5] 6.00-7.00 sec 8.30 MBytes 69.6 Mbits/sec 0 222 K 五、dd测试nfs 读写速度 dd if/dev/zero of/tmp/testfile bs1G count1 nfs挂载 10.1.1.115/data /nfs-data/data 测试写入速度dd if/dev/zero of/data/testfile bs1G count1 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 42.0247 s, 25.6 MB/s 测试读取速度dd if/nfs-data/data/testfile of/dev/null bs10M count1 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.972609 s, 1.1 GB/s if文件名输入文件名默认为标准输入。即指定源文件。 of文件名输出文件名默认为标准输出。即指定目的文件。 bsbytes同时设置读入/输出的块大小为bytes个字节。 countblocks仅拷贝blocks个块块大小等于ibs指定的字节数。 /dev/null它是一种特殊的虚拟设备用于写入而不是读取写入/dev/null的任何内容都会从操作系统中消失可以把它视为一个“黑洞”。 /dev/zero它也是一种特殊的虚拟设备用于读取而不是写入当读取该文件时他会提供无限的空字符null。 六、nfs日志 NFS日志是NFS服务器生成的日志常常用于分析NFS服务的性能和问题如拥有瓶颈的文件系统或网络故障等。NFS日志记录了NFS服务器和客户端之间交换的信息和事件这些信息和事件可以帮助管理员分析和诊断系统问题。 /var/log/syslog这个日志文件是系统的主要日志文件包括了各种系统事件和服务的日志信息。NFS的相关信息也会记录在这个文件中。 /var/log/auth.log这个日志文件主要用于记录认证和授权相关的日志信息。如果在NFS的设置中启用了身份验证机制如基于用户或主机的身份验证那么相关的日志信息会记录在这个文件中。 NFS日志的格式通常是 时间戳 | 主机名 | 进程号 | 消息级别 | 消息内容 Sep 15 18:38:51 localhost kernel: [ 2.221981] nfsd: last server has exited 在这个例子中事件发生的时间为9月15日18点38分51秒事件发生在名为localhost的主机上事件所涉及的进程号是内核消息级别为“kernel”表示事件的严重程度为内核级别消息内容是“nfsd: last server has exited”表示NFS服务器的最后一个服务器已退出。 NFS日志通常记录了NFS服务器和客户端之间的交互信息和事件主要包括以下几个方面 1连接信息NFS服务器和客户端的连接信息如IP地址、主机名等。 2文件访问信息NFS客户端对NFS服务器上的文件进行的访问操作如读、写、删除等。 3缓存信息NFS客户端对文件进行缓存的操作如缓存文件的读、写、刷新等。 4错误信息NFS客户端请求NFS服务器时所产生的错误信息如访问权限错误、NFS服务器忙等。
http://www.sadfv.cn/news/209496/

相关文章:

  • 公众号和网站深圳小程序公司
  • 网站文字重叠效果企业网站官网模板
  • 哪家好做网站建一个网站容易吗
  • 网站做定制还是固定模板广州越秀区风险等级
  • 网站建设三个友好海天网站建设
  • 重庆网站建设公司的网站wordpress修改前缀
  • 网站建设通知书建设云企业服务平台
  • 代刷网站开发威海城市 建设信息网站
  • 湛江电子商务网站建设wordpress 调用描述
  • 政务公开加强网站建设微信小程序店铺开通要多少钱
  • 网站后台口令wordpress替换
  • 做外贸必须知道的网站软件工程师一个月工资多少
  • 云服务器可以做网站吗天津营销网站建设
  • 做网站什么语言网络营销公司做得比较好的
  • 一个人能建设一个公司网站吗wordpress 自动提交
  • 网站内容怎么做备份电子商务网站建设调研报告
  • SEO优化网站建设价格wordpress 汽车 模板
  • 织梦网站会员中心模板代理做网站怎么样
  • 网站cdn自己做win2008网站404
  • 户外网站模板中国排名第一的游戏
  • 小榄网站建设公司宁波网页设计职业
  • 网站建设需要什么哪家做网站最便宜
  • 智慧团建网站官网入口登录赣州网站建设服务
  • 重庆网站建设cqhtwl大学社团网站建设
  • 什么是网站开发时间进度表广州物流网站建设
  • 哪些网站是用wordpresscentos7系统做网站
  • 上海公司网站建设公司浙江网络推广
  • 中国建设银行黄陂支行网站露营旅游网站策划书
  • 利用免费网站做SEO石家庄58同城最新招聘信息
  • 通过域名访问网站苏州网站建设网络