日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sysctl mysql_服务器优化——Sysctl、Apache、MySQL

發布時間:2025/5/22 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sysctl mysql_服务器优化——Sysctl、Apache、MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器的負載能力,很大程度上取決于系統管理員的配置和優化能力。相同的硬件、不同的軟件配置,會造成截然不同的效果。下面我將給大家介紹一下如何優化 sysctrl, Apache 以及 MySQL 。請注意,所有配置均為取決于個人,請根據自己的實際情況做調整。

配置Sysctl

編輯此文件:

nano -w /etc/sysctl.conf

如果該文件為空,則輸入以下內容,否則請根據情況自己做調整:

# Controls source route verification

# Default should work for all interfaces

net.ipv4.conf.default.rp_filter = 1

# net.ipv4.conf.all.rp_filter = 1

# net.ipv4.conf.lo.rp_filter = 1

# net.ipv4.conf.eth0.rp_filter = 1

# Disables IP source routing

# Default should work for all interfaces

net.ipv4.conf.default.accept_source_route = 0

# net.ipv4.conf.all.accept_source_route = 0

# net.ipv4.conf.lo.accept_source_route = 0

# net.ipv4.conf.eth0.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel

kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.

# Useful for debugging multi-threaded applications.

kernel.core_uses_pid = 1

# Increase maximum amount of memory allocated to shm

# Only uncomment if needed!

# kernel.shmmax = 67108864

# Disable ICMP Redirect Acceptance

# Default should work for all interfaces

net.ipv4.conf.default.accept_redirects = 0

# net.ipv4.conf.all.accept_redirects = 0

# net.ipv4.conf.lo.accept_redirects = 0

# net.ipv4.conf.eth0.accept_redirects = 0

# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets

# Default should work for all interfaces

net.ipv4.conf.default.log_martians = 1

# net.ipv4.conf.all.log_martians = 1

# net.ipv4.conf.lo.log_martians = 1

# net.ipv4.conf.eth0.log_martians = 1

# Decrease the time default value for tcp_fin_timeout connection

net.ipv4.tcp_fin_timeout = 25

# Decrease the time default value for tcp_keepalive_time connection

net.ipv4.tcp_keepalive_time = 1200

# Turn on the tcp_window_scaling

net.ipv4.tcp_window_scaling = 1

# Turn on the tcp_sack

net.ipv4.tcp_sack = 1

# tcp_fack should be on because of sack

net.ipv4.tcp_fack = 1

# Turn on the tcp_timestamps

net.ipv4.tcp_timestamps = 1

# Enable TCP SYN Cookie Protection

net.ipv4.tcp_syncookies = 1

# Enable ignoring broadcasts request

net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable bad error message Protection

net.ipv4.icmp_ignore_bogus_error_responses = 1

# Make more local ports available

# net.ipv4.ip_local_port_range = 1024 65000

# Set TCP Re-Ordering value in kernel to ‘5′

net.ipv4.tcp_reordering = 5

# Lower syn retry rates

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 3

# Set Max SYN Backlog to ‘2048′

net.ipv4.tcp_max_syn_backlog = 2048

# Various Settings

net.core.netdev_max_backlog = 1024

# Increase the maximum number of skb-heads to be cached

net.core.hot_list_length = 256

# Increase the tcp-time-wait buckets pool size

net.ipv4.tcp_max_tw_buckets = 360000

# This will increase the amount of memory available for socket input/output queues

net.core.rmem_default = 65535

net.core.rmem_max = 8388608

net.ipv4.tcp_rmem = 4096 87380 8388608

net.core.wmem_default = 65535

net.core.wmem_max = 8388608

net.ipv4.tcp_wmem = 4096 65535 8388608

net.ipv4.tcp_mem = 8388608 8388608 8388608

net.core.optmem_max = 40960

如果希望屏蔽別人 ping 你的主機,則加入以下代碼:

# Disable ping requests

net.ipv4.icmp_echo_ignore_all = 1

編輯完成后,請執行以下命令使變動立即生效:

/sbin/sysctl -p

/sbin/sysctl -w net.ipv4.route.flush=1

MySQL優化

編輯MySQL的配置文件:

nano /etc/my.cnf

輸入以下內容:

[mysqld]

connect_timeout=15

interactive_timeout=100

join_buffer_size=1M

key_buffer=128M

max_allowed_packet=16M

max_connections=500

max_connect_errors=10

myisam_sort_buffer_size=64M

read_buffer_size=1M

read_rnd_buffer_size=768K

sort_buffer_size=1M

table_cache=1024

thread_cache_size=100

thread_concurrency=4

wait_timeout=300

query_cache_size=32M

query_cache_limit=1M

query_cache_type=1

skip-innodb

請注意,以上配置適用于512M~1024M內存,如內存更大的話請自行做調整。給項目增加內存會加快速度,但是使用過多的內存而導致啟用swap的話,會極大的導致系統效率下降。其中 thread_concurrency 這項配置,單CPU的話請設置為2,雙CPU的話請設置為4。

Apache優化

以下優化適用于 Apache 1.3 系列,如果你用的是 2.0 系列的話,請自行做調整和判斷。

確認 Apache 的配置文件位置并開始編輯:

locate httpd.conf

nano -w /path/to/httpd.conf

httpd.conf的文件有許多內容,筆者就拿出需要做優化的:

KeepAlive On

MaxKeepAliveRequests 1000

KeepAliveTimeout 3

MinSpareServers 8

MaxSpareServers 13

MaxRequestsPerChild 50

將 KeepAliveTimeout 設定到較小的數字將有助于減少服務器上的無用等待鏈接,一定程度上能增加服務器負載。

另外,下面這條不算優化,但是是Apache安全相關:

ServerSignature Off

ServerTokens ProductOnly

將 ServerSignature 關閉,并增加 ServerTokens ProductOnly 可以使常人無法檢測到Apache的實際版本號,有助于Apache的安全。

以上所做的這些優化在某種程度上會增強服務器的負載性能。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的sysctl mysql_服务器优化——Sysctl、Apache、MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。