叫别人做网站要多久网站缩略图代码

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

叫别人做网站要多久,网站缩略图代码,协会宣传网站开发方案,长沙十大必去景点目录

  1. 工作进程数量
  2. Nginx最大打开文件数
  3. Nginx事件处理模型
  4. 开启高效传输模式
  5. 连接超时时间
  6. proxy调优
  7. fastcgi 调优
  8. gzip 调优
  9. expires 缓存调优
  10. 防盗链
  11. 内核参数优化 1. 工作进程数量 #根据cpu个数自动调整工作进程数量 work…目录
  12. 工作进程数量
  13. Nginx最大打开文件数
  14. Nginx事件处理模型
  15. 开启高效传输模式
  16. 连接超时时间
  17. proxy调优
  18. fastcgi 调优
  19. gzip 调优
  20. expires 缓存调优
  21. 防盗链
  22. 内核参数优化 1. 工作进程数量 #根据cpu个数自动调整工作进程数量 worker_processes auto;
  23. Nginx最大打开文件数 这个指令是指当一个nginx worker进程打开的最多文件描述符数目 worker_rlimit_nofile 65535; 注文件资源限制的配置可以在/etc/security/limits.conf设置针对root/user等各个用户或者*代表所有用户来设置。用户重新登录生效ulimit -n 1.用户级别限制(用户最大能打开的文件数) #立即生效配置 ulimit -n 65536 #永久配置重启生效 vim /etc/security/limits.conf
  • soft nofile 65535
  • hard nofile 65535 2.进程级别限制每个进程最大能打开的文件数 vim /etc/sysctl.conf ‌fs.nr_open‌ 65535 sysctl -p 3.系统级别限制(系统最大能打开的文件数) vim /etc/sysctl.conf fs.file-max‌ 999999 sysctl -p
  1. Nginx事件处理模型 events { use epoll; worker_connections 65535; multi_accept on; }use epoll;
    nginx采用epoll事件模型处理效率高。worker_connections 65535;
    是单个worker进程允许客户端最大连接数这个数值一般根据服务器性能和内存来制定 理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。实际我们填入一个65535足够了这些都算并发值一个网站的并发达到这么大的数量也算一个大站了multi_accept on; on默认值告诉nginx收到一个新连接通知后接受尽可能多的连接 当你的服务器连接数不多时on会导致负载不平衡但是对于高并发场景下的性能提升非常有帮助

  2. 开启高效传输模式 http { include mime.types; default_type application/octet-stream; …… sendfile on; tcp_nopush on; …… } Include mime.types Nginx使用mime.types文件来识别和处理各种文件类型的请求‌,include指令用于在当前文件中包含另一个文件内容。default_type application/octet-stream 用于指定响应前端请求时默认的MIME类型‌。当Nginx遇到未知的文件类型或者没有相应的MIME类型配置时会使用default_type指定的类型application/octet-stream是一种通用的二进制数据类型浏览器通常会将其视为文件并提示用户下载sendfile on开启高效文件传输模式sendfile指令指定nginx是否调用sendfile函数来输出文件对于普通应用设为 on如果用来进行下载等应用磁盘IO重负载应用可设置为off以平衡磁盘与网络I/O处理速度降低系统的负载。注意如果图片显示不正常把这个改成off。tcp_nopush on必须在sendfile开启模式才有效防止网路阻塞积极的减少网络报文段的数量将响应头和正文的开始部分一起发送而不一个接一个的发送。

  3. 连接超时时间 主要目的是保护服务器资源CPU内存控制连接数因为建立连接也是需要消耗资源的。 keepalive_timeout 60; tcp_nodelay on; #用于缓存静态文件的元信息以提升网站访问速度和处理请求的能力 open_file_cache max102400 inactive20s; open_file_cache_valid 30s; open_file_cache_min_uses 1; open_file_cache_errors on;client_header_buffer_size 4k; client_header_timeout 15; client_body_buffer_size 8k; client_body_timeout 15; client_max_body_size 10m; reset_timedout_connection on; send_timeout 15; server_tokens off; keepalive_timeout 60; HTTP 是一种无状态协议客户端向服务器发送一个 TCP 请求服务端响应完毕后断开连接。 如果客户端向服务器发送多个请求每个请求都要建立各自独立的连接以传输数据。 HTTP 有一个 KeepAlive 模式它告诉 webserver 在处理完一个请求后保持这个 TCP 连接的打开状态。 若接收到来自客户端的其它请求服务端会利用这个未被关闭的连接而不需要再建立一个连接。 KeepAlive 在一段时间内保持打开状态它们会在这段时间内占用资源。占用过多就会影响性能。 Nginx 使用 keepalive_timeout 来指定每个TCP 连接最多可以保持多长时间。Nginx 的默认值是 75 秒 有些浏览器最多只保持 60 秒所以可以设定为 60 秒。若将它设置为 0就禁止了 keepalive 连接。tcp_nodelay on; 允许小的TCP包立即发送减少网络延迟防止网络阻塞不过要包涵在keepalived参数才有效。 可能会增加网络负载需谨慎使用。适用于需要低延迟的场景。实时性要求高的应用如在线游戏、视频会议等。 需要快速响应的网络服务如在线交易系统。client_header_buffer_size 4k; 客户端请求头部的缓冲区大小这个可以根据你的系统分页大小来设置一般一个请求头的大小不会超过 1k 不过由于一般系统分页都要大于1k所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。 ———————————缓存相关————————————句法 open_file_cache off;open_file_cache maxN [inactivetime];默认 open_file_cache off;语境 httpserverlocatioopen_file_cache max65535 inactive20s; NGINX缓存将最近使用的文件描述符和相关元数据如修改时间大小等存储在缓存中。缓存不会存储所请求文件的内容 max64 设置可以缓存的最大文件描述符数量建议和打开文件数一致当缓存溢出时将删除最近最少使用LRU的元素 inactive参数定义了缓存项的非活动时长超过此时长且命中次数未达到min_uses指定的值缓存项将被视为非活动项并删除。 min_uses和inactive共同决定了缓存项的存活条件和缓存的有效性二者在配置和使用上是有关联的句法 open_file_cache_min_uses number;默认 open_file_cache_min_uses 1;语境 httpserverlocation min_uses参数定义了文件在inactive指定的时间内被访问的最小次数若访问次数少于此值文件将从缓存中删除句法 open_file_cache_valid time;默认 open_file_cache_valid 60s;语境 httpserverlocation 确认经过60s之后再去看看缓存的内容是否有效如果源内容发生了更新那么更新缓存。 如果你的静态文件内容变化频繁并且对时效性要求较高一般应该把 open_file_cache_valid 设置的小一些以便及时检测和更新。 如果变化相当不频繁的话那就可以设置大一点在变化后用 reload nginx 的方式来强制更新缓存句法 open_file_cache_errors on | off;默认 open_file_cache_errors off;语境 httpserverlocation 文件错误是否也同样缓存默认是off的如果启用则在访问资源时NGINX会报告相同的错误。 ————————————————————————————- client_header_timeout 15; 客户端向服务端发送一个完整的 request header 的超时时间。 如果客户端在指定时间内没有发送一个完整的 request headerNginx 返回 HTTP 408Request Timed Out。client_header_buffer_size 4k; 此设置指定了客户端请求头部的缓冲区大小。4k是一个合理的默认值但根据实际需求可以适当调整。‌‌client_header_timeout 15; 此设置定义了客户端请求头读取的超时时间单位为秒。15秒是一个适中的值既不会太短导致正常的请求被误判也不会太长导致资源浪费。client_body_buffer_size 8k; 设置读取客户端请求正文的缓冲区大小。如果请求正文大于缓冲区则将整个正文或仅其部分写入临时文件。 默认情况下缓冲区大小等于两个内存页(getconf PAGE_SIZE)。这在x86、其他32位平台和x86-64上8K。在其他64位平台上通常16K。client_max_body_size 10m; 客户端上传文件大小限制。 client_body_timeout 15; 指定客户端与服务端建立连接后发送 request body 的超时时间。 如果客户端在指定时间内没有发送任何内容Nginx 返回 HTTP 408Request Timed Out。reset_timedout_connection on; 告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。send_timeout 15; 服务端向客户端传输数据在这个超时时间内未收到客户端确认收到数据的消息则断开连接server_tokens off; 并不会让nginx执行的速度更快但它可以关闭在错误页面中的nginx版本数字这样对于安全性是有好处的。6. proxy调优 ‌proxy buffering的作用‌主要是实现被代理服务器和客户端之间的请求异步处理通过缓冲区暂存响应数据再按需发送给客户端有助于提升处理效率和并发能力 proxy_cache 作用是缓存后端服务器的内容可能是任何内容包括静态的和动态。 缓存减少了nginx与后端通信的次数节省了传输时间和后端宽带 proxy_set_header Host \(http_host; # 请求头带上的域名 proxy_set_header X-Real-IP \)remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 客户端真实IP#此配置用于定义Nginx在何种情况下会将请求传递给下一个上游服务器 proxy_next_upstream error timeout http_500 http_502 http_503 http_504;#表示设置Nginx与后端服务器建立连接的超时时间为30秒 proxy_connect_timeout 30;

    nginx代理等待后端服务器的响应时间

    proxy_send_timeout 60;

    后端服务器数据回传给nginx代理超时时间

    proxy_read_timeout 60; #缓冲区设置 proxy_buffering on; proxy_buffer_size 32k; proxy_buffers 4 128k; proxy_busy_buffers_size 4k; proxy_temp_path /tmp/nginx_proxy 1 2; proxy_max_temp_file_size 20M; proxy_temp_file_write_size 8k;#缓存设置 //在全局配置http部分中添加定义一个proxy_cache http {proxy_cache_path /data/nginx_cache/ levels1:2 keys_zonemy_zone:10m inactive300s max_size50M; } //在虚拟主机server的location中 proxy_cache my_zone; proxy_cache_valid 200 302 1h;#缓冲区设置 proxy_buffering作用主要是实现被代理服务器和客户端的请求异步 ‌‌proxy_buffering on;‌启用代理缓冲功能。 ‌proxy_buffer_size 4k;‌ 设置读取响应头的缓冲区为4KB。 ‌proxy_buffers 2 4k;‌设置读取响应体的缓冲区为2个4KB。 ‌‌proxy_busy_buffers_size 4k;‌设置忙时缓冲区大小为4KB。 ‌proxy_temp_path /tmp/nginx_proxy 1 2;‌设置临时文件路径及权限。 ‌proxy_max_temp_file_size 20M;‌设置最大临时文件大小为20MB。 ‌proxy_temp_file_write_size 8k;‌设置写入临时文件的大小为8KB。 #缓存设置 proxy_cache作用是将从C上获取的数据根据预设的规则存放到B上留着备用 当下次A再次请求相同数据的时候可以不用再到C上取当然有一个时间限定。 proxy_cache:默认off开启的话不是on而是写一个存放缓存的区域名称例如proxy_cache my_zone; proxy_cache_bypass:设置什么请求不读取cache一定要从C中获取这是从安全考虑。比如果proxy_cache_bypass \(cookie_nocache \)arg_nocache $arg_comment proxy_no_cache设定什么情况不缓存作用和上面的类似。 proxy_cache_key: 保持默认就行不设置。 proxy_cache_path例如proxy_cache_path /data/nginx_cache/ levels1:2 keys_zonemy_zone:10m inactive300s max_size5g 依次是存放位置层级目录zone的名称和大小失效时间最大缓存数据proxy_cache_valid 200 302 1h #表示将200和302应答缓存一小时要和proxy_cache配合使用。

  4. fastcgi 调优 FastCGI buffer通过将FastCGI应用程序的响应内容先缓冲在Nginx服务器上再一次性发送给客户端减少了Nginx与后端FastCGI服务器之间的交互次数从而提高了整体的处理性能。 fastcgi_cache 缓存fastcgi生成的内容很多情况是php生成的动态的内容。缓存减少了nginx与php的通信的次数更减轻了php和数据库(mysql)的压力。 #指定fastcgi的ip和端口 fastcgi_pass 172.18.50.65:9000; #fastcgi默认的主页资源 fastcgi_index index.php; #/app/php为存放php代码的目录 fastcgi_param SCRIPT_FILENAME /app/php\(fastcgi_script_name; #加载fastcgi参数 include fastcgi_params;fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; fastcgi_temp_path /usr/local/nginx1.10/nginx_tmp; fastcgi_intercept_errors on; fastcgi_cache_path /usr/local/nginx1.10/fastcgi_cache levels1:2 keys_zonecache_fastcgi:128minactive1d max_size10g; fastcgi_connect_timeout 600 指定连接到后端FastCGI的超时时间。 fastcgi_send_timeout 600 向FastCGI传送请求的超时时间。 fastcgi_read_timeout 600 指定接收FastCGI应答的超时时间。 fastcgi_buffer_size 64k 设置读取响应头的缓冲区为64KB。 fastcgi_buffers 4 64k 设置读取响应体的缓冲区为4个64KB。 fastcgi_busy_buffers_size 128k 建议设置为fastcgi_buffers的两倍繁忙时候的buffer。 fastcgi_temp_file_write_size 128k 在写入fastcgi_temp_path时将用多大的数据块默认值是fastcgi_buffers的两倍该数值设置小时若负载上来时可能报502BadGateway。 fastcgi_temp_path 缓存临时目录。 fastcgi_intercept_errors on 这个指令指定是否传递4xx和5xx错误信息到客户端或者允许nginx使用error_page处理错误信息。注静态文件不存在会返回404页面但是php页面则返回空白页fastcgi_cache_path /usr/local/nginx1.10/fastcgi_cache levels1:2 keys_zonecache_fastcgi:128m inactive1d max_size10g定义缓存文件的存储路径、缓存大小、缓存有效期、缓存键的哈希表大小等。/usr/local/nginx1.10/fastcgi_cache 缓存文件的存储路径。levels1:2 缓存目录的层次结构这里表示首先按第一个字符分目录然后在这些目录中再按前两个字符分目录。keys_zonecache_fastcgi:128m 为缓存区命名这里是 cache_fastcgi并设置其大小这里是 128MB。inactive1d 缓存项在不被访问后多久被视为“非活动”的之后它们可以被清理器线程删除 max_size10g 表示最多用多少硬盘空间。fastcgi_cache cache_fastcgi启用上面创建的名为cache_fastcgi缓存。可以有效降低CPU的负载并且防止502的错误放生。fastcgi_cache_valid 200 302 1h #用来指定应答代码的缓存时间实例中的值表示将200和302应答缓存一小时要和fastcgi_cache配合使用。 fastcgi_cache_valid 301 1d 将301应答缓存一天。 fastcgi_cache_valid any 1m 将其他应答缓存为1分钟。 fastcgi_cache_min_uses 1 该指令用于设置经过多少次请求的相同URL将被缓存。 fastcgi_cache_key http://\)host\(request_uri 该指令用来设置web缓存的Key值,nginx根据Key值md5哈希存储.一般根据\)host(域名)、$request_uri(请求的路径)等变量组合成proxy_cache_key 。 fastcgi_pass 指定FastCGI服务器监听端口与地址可以是本机或者其它。

  5. gzip 调优 将响应报⽂发送⾄客户端之前可以启⽤压缩功能这能够有效地节 约带宽并提⾼响应⾄客户端的速度。Gzip压缩可以配置 http,server和location模块下。Nginx开启Gzip压缩参数说明 Nginx启用压缩功能需要你来ngx_http_gzip_module模块apache使用的是mod_deflate。 一般我们需要压缩的内容有文本jshtmlcss 对于图片视频flash什么的不压缩同时也要注意我们使用gzip的功能是需要消耗CPU的 gzip on; gzip_min_length 2k; gzip_buffers 4 32k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; gzip_vary on; gzip_proxied any;
    gzip on; 开启压缩功能 gzip_min_length 2k 设置允许压缩的页面最小字节数页面字节数从header头的Content-Length中获取默认值是0不管页面多大都进行压缩建议设置成大于1K如果小与1K可能会越压越大。 gzip_buffers 4 32k 压缩缓冲区大小表示申请4个单位为32K的内存作为压缩结果流缓存默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果。 gzip_http_version 1.1 压缩版本用于设置识别HTTP协议版本默认是1.1目前大部分浏览器已经支持GZIP解压使用默认即可。 gzip_comp_level 6 压缩比例用来指定GZIP压缩比1压缩比最小处理速度最快9压缩比最大传输速度快但是处理慢也比较消耗CPU资源。 gzip_types text/css text/xml application/javascript 用来指定压缩的类型‘text/html’类型总是会被压缩。默认值: gzip_types text/html (默认不对js/css文件进行压缩) 压缩类型匹配MIME型进行压缩不能用通配符 text/*text/html默认已经压缩 (无论是否指定)设置哪压缩种文本文件可参考 conf/mime.types。 gzip_vary on 增加响应头Vary: Accept-Encoding客户端响应头看到Content-Encoding:gzip 说明开启了gzip压缩。 gzip_proxied any; 表示所有来自代理服务器的请求都将启用压缩经过CDN回源的请求也压缩

  6. expires 缓存调优 原理当nginx设置了expires后例如设置为expires 10d; 那么所在的location或if的内容用户在10天内请求的时候都只会访问浏览器中的缓存而不会去请求nginx 缓存主要针对于图片cssjs等元素更改机会比较少的情况下使用特别是图片占用带宽大我们完全可以设置图片在浏览器本地缓存365dcssjshtml可以缓存个10来天这样用户第一次打开加载慢一点第二次就非常快了缓存的时候我们需要将需要缓存的拓展名列出来 Expires缓存配置在server字段里面。 location ~* .(ico|jpe?g|gif|png|bmp|swf|flv)\( {expires 30d; #log_not_found off; access_log off; } location ~* \.(js|css)\) {expires 7d; log_not_found off; access_log off; }
    注log_not_found off;是否在error_log中记录不存在的错误。默认是。 总结 expire功能优点 expires可以降低网站购买的带宽节约成本同时提升用户访问体验 减轻服务的压力节约服务器成本是web服务非常重要的功能。expire功能缺点 被缓存的页面或数据更新了用户看到的可能还是旧的内容反而影响用户体验。 解决办法第一个缩短缓存时间例如1天但不彻底除非更新频率大于1天第二个对缓存的对象改名。 expires 24h; 24小时过期 expires modified 24h; 文件修改后24小时过期 expires 24h; “”前缀指定一天中的时间,24表示今天的24点过期 expires 0; 设置为0意味着Cookie立即过期浏览器将删除它 expires -1; 等同Cache-Control: no-cache不缓存 expires epoch; 等同Cache-Control: no-cache不缓存 expires $expires; add_header Cache-Control private; 设置缓存头为private add_header Cache-Control no-cache; 不缓存

  7. 防盗链 防止别人直接从你网站引用图片等链接消耗了你的资源和网络流量那么我们的解决办法由几种 水印品牌宣传你的带宽服务器足够防火墙直接控制前提是你知道IP来源防盗链策略下面的方法是直接给予404的错误提示。 location ~*^..(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)\( { valid_referers server_names *.example.com example.* www.example.org ~\.google\;if(\)invalid_referer) { return 404; break; } #对于某些不需要记录访问日志的请求可以单独配置关闭访问日志access_log off; }
    Syntax: valid_referers none | blocked | server_names | string …; Default: — Context: server, locationvalid_referers 指令可以配置什么为合法的referers none $http_referer变量的值是空的, 是直接访问url没有使用任何网站或链接的跳转 blocked 请求标头中存在“ Referer”字段但其值已被防火墙或代理服务器删除这些值是不以“ http//”或“ https//”开头的字符串 server_names 配置域名列表为一个或多个域名支配通配符、正则表达式写法

  8. 内核参数优化 vim /etc/sysctl.conf ,执行sysctl -p使内核修改生效 fs.file-max 999999 ‌fs.nr_open‌ 65535kernel.sysrq 0 kernel.core_uses_pid 1 kernel.msgmnb 65536 kernel.msgmax 65536 kernel.shmmax 68719476736 kernel.shmall 4294967296 net.core.wmem_default 8388608 net.core.wmem_max 16777216 net.core.rmem_default 8388608 net.core.rmem_max 16777216
    net.core.netdev_max_backlog 262144 net.core.somaxconn 40960 net.ipv4.ip_forward 0 net.ipv4.conf.default.rp_filter 1 net.ipv4.conf.default.accept_source_route 0 net.ipv4.tcp_syncookies 1 net.ipv4.tcp_max_tw_buckets 6000 net.ipv4.tcp_sack 1 net.ipv4.tcp_window_scaling 1 net.ipv4.tcp_rmem 10240 87380 12582912 net.ipv4.tcp_wmem 10240 87380 12582912 net.ipv4.tcp_max_orphans 3276800 net.ipv4.tcp_max_syn_backlog 262144 net.ipv4.tcp_timestamps 0 net.ipv4.tcp_synack_retries 1 net.ipv4.tcp_syn_retries 1 net.ipv4.tcp_tw_recycle 1 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_mem 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout 1 net.ipv4.tcp_keepalive_time 30 net.ipv4.ip_local_port_range 1024 65000 ‌fs.file-max 999999‌ 这个参数设置了系统级别上所有进程能够打开的文件句柄的最大数量。 将其设置为999999意味着系统允许打开的文件句柄总数可以达到近一百万这有助于提升系统处理大量并发文件操作的能力。‌kernel.sysrq 0‌ 此参数用于控制SysRq键的功能。设置为0表示禁用SysRq键这意味着无法通过按下SysRq键组合来执行紧急系统命令。‌kernel.core_uses_pid 1‌ 当这个参数设置为1时核心转储文件core dump file的名称会包含产生该文件的进程的PID进程标识符。 这有助于在发生错误时更容易地识别是哪个进程产生了核心转储文件。‌kernel.msgmnb 65536‌ 这个参数定义了单个消息队列的最大字节数。消息队列是进程间通信的一种方式此设置限制了队列中可以存储的消息总大小。‌kernel.msgmax 65536‌ 此参数设置了消息队列中单个消息的最大大小。与kernel.msgmnb一起它们共同控制了消息队列的容量和消息的大小。‌kernel.shmmax 68719476736‌ 这个参数定义了共享内存段的最大大小。共享内存是进程间通信的另一种方式允许多个进程访问同一块内存区域。此设置限制了单个共享内存段的大小。‌kernel.shmall 4294967296‌ 此参数设置了系统范围内所有共享内存段的总页数。它与kernel.shmmax一起控制了共享内存的总量和单个段的大小。以下是一组针对网络性能优化的内核参数设置 net.core.wmem_default 8388608 ‌默认发送缓冲区大小‌ 设置为8388608字节影响套接字发送缓冲区的默认大小。 net.core.wmem_max 16777216最大发送缓冲区大小‌ 设置为16777216字节控制套接字发送缓冲区的最大大小。 net.core.rmem_default 8388608 ‌默认接收缓冲区大小设置为8388608字节影响套接字接收缓冲区的默认大小。 ‌‌net.core.rmem_max 16777216 最大接收缓冲区大小设置为16777216字节控制套接字接收缓冲区的最大大小。 net.core.netdev_max_backlog 262144 网络设备接收队列的最大长度设置为262144影响网络设备接收队列能够存储的最大数据包数量。 net.core.somaxconn 40960 ‌套接字监听队列的最大长度设置为40960控制套接字监听队列的最大连接数‌net.ipv4.ip_forward 0‌表示Linux系统当前禁止IP转发。这可能会影响Docker容器与外部通信因为Docker容器通常依赖宿主机进行IP转发实现网络通信。要解决这个问题需要将此值设置为1即开启IP转发‌12。 ‌net.ipv4.conf.default.rp_filter 1‌表示开启严格的反向路径校验确保数据包的最佳路径。 ‌net.ipv4.conf.default.accept_source_route 0‌表示关闭源地址路由功能增强系统安全性‌。 ‌net.ipv4.tcp_syncookies 1‌此参数与TCP同步标签syncookies有关用于防止SYN flood攻击增强TCP连接的稳定性。 ‌net.ipv4.tcp_max_tw_buckets 6000‌控制TIME_WAIT状态的最大数量有助于管理TCP连接的生命周期。 ‌net.ipv4.tcp_sack 1‌启用SACKSelective Acknowledgments功能提高TCP连接的效率和可靠性‌。 ‌net.ipv4.tcp_window_scaling 1‌启用TCP窗口缩放功能有助于在高速网络环境下提高TCP连接的性能‌。 ‌net.ipv4.tcp_rmem‌表示TCP接收buffer的配置有三个值分别为TCP接收buffer的最少字节数、默认值、最大字节数。 ‌net.ipv4.tcp_wmem‌表示TCP发送buffer的配置同样有三个值分别为TCP发送buffer的最少字节数、默认值、最大字节数。 ‌net.ipv4.tcp_max_orphans‌表示系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字孤儿连接将即刻被复位并打印出警告信息。 ‌net.ipv4.tcp_max_syn_backlog‌表示对于那些依然还未获得客户端确认的连接请求需要保持的最大队列长度。 ‌net.ipv4.tcp_timestamps‌用于控制TCP时间戳的使用设置为0表示禁用时间戳。 ‌net.ipv4.tcp_synack_retries‌表示在内核放弃建立连接之前发送SYNACK包的数量。 ‌net.ipv4.tcp_syn_retries‌表示在内核放弃建立连接之前发送SYN包的数量。 ‌net.ipv4.tcp_tw_recycle‌设置为1表示开启TCP连接中TIME-WAIT sockets的快速回收有助于减少TIME_WAIT状态的数量但需要注意在某些情况下可能会导致连接问题如在NAT环境下‌ ‌net.ipv4.tcp_tw_reuse‌设置为1表示允许将TIME-WAIT sockets重新用于新的TCP连接这有助于提升TCP连接的效率‌ ‌net.ipv4.tcp_mem‌这是一个系统全局参数表示所有TCP的buffer配置有三个值分别为TCP buffer值的下限、内存压力模式开始对buffer进行压力的上限、以及内存使用的上限‌ ‌net.ipv4.tcp_fin_timeout‌设置为1表示如果套接字由本端要求关闭这个参数决定了它保持在FIN-WAIT-2状态的时间‌ ‌net.ipv4.tcp_keepalive_time‌设置为30表示当keepalive启用时TCP发送keepalive消息的频度缺省值为2小时‌ ‌net.ipv4.ip_local_port_range‌设置为1024 65000表示用于向外连接的端口范围缺省情况下范围较小改为1024到65000可以扩大可用端口范围‌