ÔõÑù¾ÙÐÐLinuxϵͳµÄϵͳµ÷ÓźÍÐÔÄܲâÊÔ
²Ù×÷ϵͳµÄÐÔÄÜÓÅ»¯ÊÇ°ü¹Üϵͳ¸ßЧÔËÐеÄÒªº¦Ö®Ò»¡£ÔÚLinuxϵͳÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÖÖÖÖÒªÁì¾ÙÐÐÐÔÄܵ÷ÓźͲâÊÔ£¬ÒÔÈ·±£ÏµÍ³µÄ×î¼ÑÐÔÄÜÌåÏÖ¡£
±¾ÎĽ«ÏÈÈÝÔõÑù¾ÙÐÐLinuxϵͳµÄϵͳµ÷ÓźÍÐÔÄܲâÊÔ£¬²¢ÌṩÏìÓ¦µÄÏêϸ´úÂëʾÀý¡£
Ò»¡¢ÏµÍ³µ÷ÓÅ
ϵͳµ÷ÓÅÊÇͨ¹ýµ÷½âϵͳµÄ¸÷Ïî²ÎÊý£¬À´ÓÅ»¯ÏµÍ³µÄÐÔÄÜ¡£ÒÔÏÂÊÇһЩ³£¼ûµÄϵͳµ÷ÓÅÒªÁ죺
1.ÐÞ¸ÄÄں˲ÎÊý
LinuxϵͳµÄÄں˲ÎÊý¿ØÖÆ×ÅϵͳÔËÐеÄÖÖÖÖÐÐΪºÍÌØÕ÷¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸ÄÄں˲ÎÊýÀ´ÓÅ»¯ÏµÍ³µÄÐÔÄÜ¡£
¿ÉÒÔʹÓà sysctl ÏÂÁîÀ´ÐÞ¸ÄÄں˲ÎÊý£¬ÀýÈ磺
sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.core.netdev_max_backlog=10000
µÇ¼ºó¸´ÖÆ
2.ÐÞ¸ÄulimitÏÞÖÆ
ulimit ÊÇÓÃÀ´ÏÞÖÆÓû§Àú³Ì×ÊԴʹÓõÄÒ»ÖÖ»úÖÆ£¬°üÀ¨ CPU ʱ¼ä¡¢ÄÚ´æ¡¢ÎļþÐÎò·ûµÈ¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸Ä ulimit µÄÖµÀ´ÓÅ»¯ÏµÍ³µÄÐÔÄÜ¡£
ÀýÈ磬ʹÓÃÒÔÏÂÏÂÁîÀ´¼ì²éÄ¿½ñϵͳµÄ×î´óÎļþÐÎò·ûÊýÄ¿£º
ulimit -n
µÇ¼ºó¸´ÖÆ
ʹÓÃÒÔÏÂÏÂÁîÀ´ÐÞ¸Ä×î´óÎļþÐÎò·ûÊýÄ¿µÄÖµ£º
ulimit -n 65535
µÇ¼ºó¸´ÖÆ
3.ÓÅ»¯´ÅÅÌI/O
´ÅÅÌI/OÒ²ÊÇϵͳÐÔÄܵÄÒªº¦ÒòËØ¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÓÅ»¯´ÅÅ̶ÁдÀ´Ìá¸ßϵͳµÄÐÔÄÜ¡£
¿ÉÒÔʹÓÃÈçÏÂÏÂÁîÀ´Ê¹ÓÃÆôÓÃI/Oµ÷ÀíËã·¨£º
echo deadline > /sys/block/sda/queue/scheduler
µÇ¼ºó¸´ÖÆ
4.ʹÓÃÐÔÄÜÆÊÎö¹¤¾ß
ÐÔÄÜÆÊÎö¹¤¾ß¿ÉÒÔ×ÊÖúÎÒÃÇÕÒµ½ÏµÍ³ÖеÄÆ¿¾±¡£ÎÒÃÇ¿ÉÒÔʹÓù¤¾ßÀ´ÆÊÎöϵͳÐÔÄÜ£¬ÒÔ±ãʶ±ðÓÅ»¯µÄÖص㡣
ÆäÖУ¬Ò»Ð©³£¼ûµÄÐÔÄÜÆÊÎö¹¤¾ßÓУºstrace¡¢tcpdump¡¢perfµÈ¡£
ÏÂÃæÊÇÒ»¸öʹÓÃperf¹¤¾ßÀ´²éÕÒϵͳƿ¾±µÄʾÀý´úÂ룺
perf record -e sched:sched_process_exec -a -g -- sleep 10 perf report
µÇ¼ºó¸´ÖÆ
¶þ¡¢ÐÔÄܲâÊÔ
ÐÔÄܲâÊÔÊÇͨ¹ýÄ£Äâϵͳ¸ºÔØÀ´ÕÉÁ¿ÏµÍ³µÄÐÔÄÜ¡£ÒÔÏÂÊÇһЩ³£¼ûµÄÐÔÄܲâÊÔÒªÁ죺
1.ѹÁ¦²âÊÔ
ѹÁ¦²âÊÔ¿ÉÒÔ×ÊÖúÎÒÃÇÆÀ¹ÀϵͳµÄ¸ºÔØÄÜÁ¦¡£ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏ´úÂëÀ´¾ÙÐÐApacheµÄѹÁ¦²âÊÔ£º
ab -n 10000 -c 1000 http://www.example.com
µÇ¼ºó¸´ÖÆ
2.ÍøÂç²âÊÔ
ÍøÂç²âÊÔ¿ÉÒÔ×ÊÖúÎÒÃÇÆÀ¹ÀÍøÂçÐÔÄÜ¡£ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏ´úÂëÀ´¾ÙÐÐÍøÂç²âÊÔ£º
iperf -s # Start the server iperf -c 10.0.0.3 -t 30 -P 8 # Run the client for 30 seconds with 8 parallel connections
µÇ¼ºó¸´ÖÆ
3.Êý¾Ý¿â²âÊÔ
Êý¾Ý¿â²âÊÔ¿ÉÒÔ×ÊÖúÎÒÃÇÆÀ¹ÀÊý¾Ý¿âÐÔÄÜ¡£ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏ´úÂëÀ´¾ÙÐÐÊý¾Ý¿â²âÊÔ£º
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root prepare sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root --max-time=60 --oltp-table-size=1000000 --max-requests=0 --num-threads=8 run
µÇ¼ºó¸´ÖÆ
ÒÔÉÏÊÇһЩ³£¼ûµÄϵͳµ÷ÓźÍÐÔÄܲâÊÔÒªÁì¡£ÔÚÏÖʵʹÓÃÖУ¬ÎÒÃÇÐèҪ͎áϵͳÏÖÕæÏàÐξÙÐе÷ÓźͲâÊÔ£¬²¢Æ¾Ö¤Ð§¹û¾ÙÐÐÏìÓ¦µÄÓÅ»¯¡£
ÒÔÉϾÍÊÇÔõÑù¾ÙÐÐLinuxϵͳµÄϵͳµ÷ÓźÍÐÔÄܲâÊÔµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡