ºìÁªLinuxÃÅ»§
Linux°ïÖú

»ùÓÚNoSQLÄÚ´æÊý¾Ý¿âµÄLinuxÐÔÄÜÓÅ»¯

·¢²¼Ê±¼ä:2012-07-09 11:23:19À´Ô´:ºìÁª×÷Õß:Fasten
À´Ô´£ºCSDN

»òÐíÄãÒѾ­»ò¶à»òÉÙÌý˵¹ýijÖÖNoSQLÊý¾Ý¿âÁË£¬Èç¹ûNoSQLÕæµÄ¿ÉÒÔÈÃÎÒÃǵÄWebÓ¦ÓóÌÐòÔËÐеĸü¿ì¡¢¸ü¾ßÀ©Õ¹ÐÔ£¬ÎÒÏëÎÒÃÇ¿ÉÒÔÈ¥³¢ÊÔ£¬²¢¾¡¿ÉÄÜ·¢»ÓÆäÍþÁ¦¡£

ÎÒÃDz»½öҪѡÔñÊʺÏ×Ô¼º¿ÚζµÄNoSQLÊý¾Ý¿â£¬±ÈÈç»ùÓÚÄÚ´æµÄMemcache»òRedis£¬¸üÊʺÏÆóÒµ¼¶¼Ü¹¹µÄCassandra»òHBase£¬Í¬Ê±£¬Õë¶ÔLinux·þÎñÆ÷µÄÓÅ»¯Ò²±Ø²»¿ÉÉÙ¡£

ÁíÍ⣬»¹ÓÐÒ»¸öÎÊÌâÐèҪ̽ÌÖ¡£ÎÒÃÇÔÚ³¢ÊÔNoSQLÊý¾Ý¿âµÄʱºò£¬²»Ó¦¸ÃÅų⴫ͳµÄ¹ØϵÐÍÊý¾Ý¿â£¬ÒòΪNoSQLÊý¾Ý¿âÓÀÔ¶²»»áÈ¡´ú´«Í³µÄ¹ØϵÐÍÊý¾Ý¿â¡£

LinuxÐÔÄÜÓÅ»¯ÊÇÒ»¸öºÜ´óµÄ»°Ì⣬Éæ¼°Ó¦ÓóÌÐòÕ»µÄ²ã´Î¼Ü¹¹£¬²¢·ÇÊÇһÞ«È·µÄ¿Æѧ¡£±¾ÎÄÊÇLinuxÐÔÄÜÓÅ»¯ÏµÁÐÎÄÕµĵÚһƪ£¬×ÅÑÛÓÚNoSQLÄÚ´æÊý¾Ý¿âµÄLinux·þÎñÆ÷ÐÔÄÜÓÅ»¯¡£Îª´Ë£¬ÎÒÃǽ«Öع¹Linux·þÎñÆ÷µÄÄںˡ£

Ò²ÐíÄãÔø¾­Ç××ÔÏÂÔØ¡¢±àÒë¹ýLinuxÄںˣ¬Òò´Ë£¬ÔÚÖع¹LinuxÄÚºË֮ǰ£¬Çë²»ÒªÍü¼Ç·çÏÕ¡£

ͨ¹ýÓÅ»¯vanilla 3.x kernelÖеÄÈçÏÂÑ¡Ïî¿ÉÒÔÓ¦¶ÔÎÒÃÇËùÌáµ½µÄ¹¤×÷¸ºÔØÌôÕ½£º

CONFIG_TASK_IO_ACCOUNTING£º·Ç³£ÖØÒª£¬ÔÊÐíÄú¼à¿Ø·þÎñÆ÷½ø³ÌµÄ´ÅÅ̻״̬¡£

CONFIG_SLUB£ºChris LameterµÄÄں˶ÔÏ󻺴æϵͳ¡£Ïà±ÈSLAB¶øÑÔ£¬ÔÚ¹ÜÀíÄÚºËÄÚ´æ·ÖÅä·½ÃæЧÂʸü¸ß¡£

CONFIG_JUMP_LABEL£ºÄں˷ÖÖ§ÓÅ»¯£¬Ê¹ÄÚºËËٶȸü¿ì¡£

CONFIG_NUMA and friends£ºÊÊÓÃÓÚ¶àºË´¦ÀíÆ÷£¬ÎªÄÚºËÆôÓÃNUMA¹¦ÄÜ£¬ÌáÉý¶Ô¸ßËÙ»º´æºÍÄÚ´æµÄÒ»ÖÂÐÔÖ§³Ö¡£

CONFIG_SPARSEMEM_VMEMMAP£ºÕë¶Ôpfn_to_pageºÍpage_to_pfnº¯ÊýµÄÏ¡ÊèÄÚ´æÓÅ»¯Ñ¡Ïî¡£

CONFIG_TRANSPARENT_HUGEPAGE, CONFIG_COMPACTION, CONFIG_MIGRATION, CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS£ºÕâЩ²ÎÊý¿ÉÓÃÓÚ·ÖÅä´óÓÚ4KBµÄÄÚ´æÒ³£¬ÎªÄÚ´æ¼¢¶ö½ø³Ì¼ÓËÙ·ÖÅäÄÚ´æ¡£ÁíÍ⣬ËüÃÇ»¹¿ÉÒÔ¶ÔÄÚ´æÒ³½øÐÐѹËõºÍǨÒÆ£¬ÒÔ¶Ô´óÐÍÒ³Ãæ½øÐа²È«²éѯ£¬²¢½øÒ»²½¼õÉÙÄÚ´æËéƬ¡£

CONFIG_KSM£ºÒÔMADV_MERGEABLEµÄ·½Ê½È¡ÏûÄÚ´æÒ³ÃæµÄ±ê¼ÇÊÇÒ»¸ö·Ç³£ÖØÒªµÄ»úÖÆ£¬¿ÉÒÔÒÔÖÕ¼«µÄ·½Ê½½ÚÊ¡ÄÚ´æ¡£

CONFIG_ZRAM£ºÌṩÁËÒ»¸ö»ùÓÚÄÚ´æµÄ¿éÉ豸¡£ÔÚ´Ë¿éÉ豸ÖÐдÈëµÄÊý¾Ý»á±»Ñ¹Ëõ£¬²¢´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÁÙʱ´æ´¢¿Õ¼ä·Ç³£ÓÐÓÃ(¹ÒÔØÔÚ/tmpĿ¼ÏÂ)£¬ÓÉÓÚ´ËÌØÐÔÓÃÓÚÁÙʱÇøÓò£¬Ç뽫Ëü¹¹½¨ÎªÒ»¸öÄ£¿é£¬²¢Ð¡ÐÄʹÓá£

CONFIG_ZCACHE, CONFIG_ZSMALLOC & CONFIG_CLEANCACHE£ºÒ»¸öÄÚ´æÒ³ÃæѹËõ¿ò¼Ü£¬¿É͸Ã÷µØѹËõÇå½àÒ³ÃæºÍ½»»»Ò³Ã棬´Ó¶øΪ»ùÓÚÄÚ´æµÄ¹¤×÷¸ººÉÌṩÏÔÖøµÄÐÔÄÜÌáÉý¡£CleanCacheʹÓÃZCache¿ò¼Ü¶ÔÄÚ´æÒ³Ãæ½øÐÐѹËõ£¬¿ÉÒÔÔÚ¸ßÄÚ´æ»·¾³ÏÂÓÐЧµØ½µµÍI/OÇëÇó¡£ÓÉÓÚ´ËÌØÐÔÓÃÓÚÁÙʱÇøÓò£¬Çë½÷É÷ʹÓá£

µ±È»£¬ÎÒÃǵÄÓÅ»¯ÊÇ»ùÓÚx86_64¼Ü¹¹µÄ¡£´ËÍ⣬ÁíһЩѡÏîÒ²»áÉæ¼°µ½¹¤×÷¸ººÉµÄÐÔÄÜÓÅ»¯£º

CONFIG_PERF_EVENTS£ºÄÚºËÐÔÄܼÆÊýÆ÷£¬ÓëperfµÈ¹¤¾ß¹²Í¬Ê¹Óá£ÓÈÆäÊÊÓÃÓÚÉî¶ÈÐÔÄܼà¿Ø¡£

CONFIG_PROFILING£ºÐÔÄÜ·ÖÎö¼ÆÊýÆ÷£¬ÓëOProfileµÈ¹¤¾ß¹²Í¬Ê¹Óá£ÓëPERF_EVENTSͬÑùÖØÒª¡£

HAVE_BPF_JIT£º»ùÓÚʱ¼ä¹æÔòµÄ±àÒëÆ÷£¬ÓÃÓÚ»ùÓÚPCAP(packet capture library)²¢Ê¹Óò®¿ËÀû°üɸѡÆ÷(Berkeley Packet Filter£¬Èçtcpdump)µÄÓû§¹¤¾ß£¬¿ÉÒÔ´ó·ùÌáÉý¸´ÔÓ¹æÔòµÄ´¦ÀíÐÔÄÜ¡£Í¨¹ý/proc/sys/net/core/bpf_jit_enableÆôÓÃËü¡£

ÎÒÃÇ¿ÉÒÔÑ¡Ôñ×îÊʺÏ×Ô¼ºµÄÑ¡Ï±£´æ¡¢±àÒë²¢ÔËÐÐËü£¬¿´¿´×îºóµÄ½á¹ûÊÇ·ñÄÜ´ø¸øÄã³É¾Í¸Ð!

Ò²Ðí»áÓÐÆäËüÐí¶à¼¼Êõ£¬¿ÉÒÔ°ïÖúÎÒÃǽ¨Á¢¸ßЧµÄ»ù´¡¼Ü¹¹£¬ÓÅ»¯»ùÓÚÄÚ´æµÄ¹¤×÷¸ºÔØ(±ÈÈ磬RAMSter¿ÉÒÔÌṩ½»»»¼¯Èº)¡£²»ÂÛÈçºÎ£¬ÎÒÃǶ¼Ðè¶ÔÎÒÃǵÄÄÚºËÓÅ»¯½á¹û½øÐвâÊÔ£¬ÒÔ¹¹½¨Ò»¸öÎȶ¨µÄÉú²ú»·¾³¡£

¼òµ¥µÄÄÚºËÓÅ»¯»¹Ô¶Ô¶²»¹»¡£±¾ÎÄÖ»ÊÇÒ»¸ö¿ªÊ¼£¬ÒÔºóÎÒÃǽ«Îª´ó¼Ò½éÉÜÈçºÎÓÅ»¯ÏµÍ³Óë¼Æ»®×÷ÒµµÄµ÷¶È£¬ÒÔ°ïÖúÎÒÃÇ×Ô¶¯Íê³É´ó²¿·ÖÅäÖ㬲»ÂÛÊÇÔÚÐéÄâ»·¾³»¹ÊÇÎïÀí»·¾³!

Ô­ÎÄÁ´½Ó£ºOptimizing your Linux server for memory-based NoSQL databases
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ