ãŸããSmartOSã®ç®çã説æããŸãã èŠããã«ããã®ç®çã¯ä»®æ³ãã·ã³ã®ãã¹ãã·ã¹ãã ã«ãªãããšã§ãã JoyentãMITACã¯ã©ãŠããµãŒãã¹ãªã©ããããªãã¯ã¯ã©ãŠããšãã©ã€ããŒãã¯ã©ãŠãã®åºç€ãšããŠãã䜿çšãããŸãã LinkedInã¯JoyentãµãŒãã¹ã䜿çšããŸããã¢ãã€ã«ãµãŒããŒéšåã¯ãã¹ãŠãJoyentã¯ã©ãŠãã§å®è¡ãããNode.jsã§äœæãããŠããŸãã ããã«ã€ããŠã¯ãSemonixããã°ã®SmartOSã«é¢ããèšäºãšillumosã«åºã¥ããã¯ã©ãŠãã§è©³çŽ°ã«èª¬æããŸãããããã§ã«è¿°ã¹ãYaC 2012ã®è¬æŒã§è©±ããŸããã
SmartOSã®å žåçãªã¢ããªã±ãŒã·ã§ã³ã¯ãããŒã¿ã»ã³ã¿ãŒã·ã¹ãã ãããŒããããWebã¢ããªã±ãŒã·ã§ã³ãéçºããã³éçšããããã®ã·ã¹ãã ããã©ã€ããŒããŸãã¯ãããªãã¯ã¯ã©ãŠããäœæããããã®ãã©ãããã©ãŒã ã§ãã ãã®èšäºã«åãçµããšããç§ã¯Stu Rudnageã®èšäºãç©æ¥µçã«äœ¿çšããŸãããStuRudnageã¯ãç§ãšã»ãŒåãSmartOSã€ã³ã¹ããŒã«ãã¹ã«åŸããŸããããVirtualBoxã®ä»£ããã«VMwareã䜿çšããŸããã
ãã¹ãã€ã³ã¹ããŒã«ãèšç»ããŠããŸã
ããªããSmartOSãè©ŠããŠã¿ãã人ã®äžäººã ãšããŸãããã ã©ãããã°ç°¡åã§ããïŒ ç§ã¯ãWindowsãŸãã¯Linuxãä»®æ³ãã·ã³ã§å®è¡ãããã®ãé²ããæ¢è£œã®SmartOS + Node.jsã䜿çšã§ããããã«ãããæãç°¡åãªæ¹æ³ã§é²ããŸããã VirtualBoxã§SmartOSãèµ·åããŸãã VirtualBoxã®ä»®æ³ãã·ã³ã§KVMãæ©èœããªãããšã¯æããã§ãããæ®ãã¯å€§éã皌ãå¿ èŠããããŸãã
SmartOSã¯ãWindowsãLinuxãããã³SmartOSèªäœãå®è¡ããŠããã²ã¹ãã®ãã¹ãã·ã¹ãã ã«ãªãããšãã§ããŸãã ãã®èšäºã§ã¯ãSmartOSãå®è¡ããã²ã¹ãã·ã¹ãã ã®ãªãã·ã§ã³ã®ã¿ãæ€èšããŸãã 軜éä»®æ³åïŒSolarisã®ãŸãŒã³ãšFreeBSDã®ã»ã«ã«äŒŒããã®ãšåãïŒãå®è£ ããŠãããããç©çã³ã³ãã¥ãŒã¿ãŒã§ã®ã¿ãµããŒããããŠããKVMã¯å¿ èŠãããŸããã æ§æå šäœã次ã®å³ã«ç€ºããŸãã SmartOSïŒãã¹ãïŒã¯ãã©ãããããäžã®Windowsã«é¢é£ããã²ã¹ãã§ããããã®SmartOSå ã®ãŸãŒã³ã§å®è¡ãããŠããSmartOSã·ã¹ãã ã«é¢é£ãããã¹ãã§ããã·ã¹ãã ã§ãã
ᅩ
2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãæã€ä»®æ³ãã·ã³ã«SmartOSãã€ã³ã¹ããŒã«ããŸãã ãªãã§ïŒ éåžžã«ç°¡åïŒãã¹ãã·ã¹ãã ïŒãã®å Žåã¯WindowsïŒããéåžžã®sshãSmartOSã«æ¥ç¶ããŠãSmartOSå ã®ã²ã¹ãã·ã¹ãã ããšã«å°ãªããšã1ã€ã®ãŠã£ã³ããŠãéãããšãã§ããããã«ããŸãã
ã³ã³ãœãŒã«ã§ã°ã©ãã£ã«ã«ã¢ãŒãã䜿çšããé©åãªéã®xtermãŸãã¯gnome-terminalãããã§å®è¡ããŠã¿ãŸãããïŒ å®éãã°ã©ãã£ãã¯ã¹ïŒ "X"-XïŒã¯SmartOSã«ã€ã³ã¹ããŒã«ãããŠããŸããã X11ã®ãµããŒããSmartOSã«ç§»æ€ãããããžã§ã¯ãããããŸããããŸã å®äºããŠããŸããããã®ãããžã§ã¯ãã®äž»ä»»ãã©ã³ãã£ã¢ã§ããJonathan Perkinãããäœæ¥ã®æéãäžæã§ããããšãéç¥ãããŸããã ãããã£ãŠãsshããSmartOSã«5ã€ã®ãŠã£ã³ããŠãéãããå Žåããã¹ãã·ã¹ãã ããVirtualBoxã®SmartOSãžã®TCPã¢ã¯ã»ã¹ãå¿ èŠã§ãã
ããã«ãVirtualBox Guest Additionsã¯SmartOSã²ã¹ããã·ã³ã«ã€ã³ã¹ããŒã«ã§ããªããããã²ã¹ãã·ã¹ãã ãšãèšäºãæžããŠãããã¹ãã·ã¹ãã ãšã®éã§ã«ããã¢ã³ãããŒã¹ããè¡ãããšãã§ããŸãïŒç«¯æ«ããããã¹ããã³ããŒãããïŒã çè«çã«ã¯ãGuest Additionsãã€ã³ã¹ããŒã«ã§ãããšæããŸãïŒåºæ¬çã«ããã«ã«ãŒãã«ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãïŒããSolarisã«äŒŒãã·ã¹ãã ã®å ŽåãGuest Additionsã¯.pkgããã±ãŒãžã®åœ¢åŒã§æäŸãããŸãã ãã¹ãã·ã¹ãã ããsshã§ã¢ã¯ã»ã¹ããããããããã±ãŒãžã解åããŠæåã§ã¢ãžã¥ãŒã«ãã«ãŒãã«ã«ãã蟌ãæ¹ãåé¡ãå€ããšå€æããŸããã
ãªã2çªç®ã®ã€ã³ã¿ãŒãã§ã€ã¹ãå¿ èŠãªã®ã§ããïŒ ãã®ãããSmartOSã¯ã€ã³ã¿ãŒãããäžã®ãã±ããã«å¯ŸããŠNATãééã§ããŸãã ã¿ã¹ã¯ã®æ¡ä»¶ã«é¢ãããã®å¶éã¯ãVirtualBoxã«ãã£ãŠèª²ããããŸããNAT/ DHCPãåããä»®æ³ãã·ã³ã«ãã¹ãã·ã¹ãã ããã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ãããªããžãããã¯ãŒã¯ãä»ããŠã®ã¿å¯èœã§ããããã¯å¿ ããã䟿å©ã§ã¯ãããŸããã ããŸã䟿å©ã§ã¯ãªãïŒãŸãã¯ç¹å®ã®ãã¹ãã·ã¹ãã ãVirtualBoxã®ããŒãžã§ã³ã§ãµããŒããããŠããªãïŒã±ãŒã¹ã®èª¬æã¯ããã®èšäºã®ç¯å²ãè¶ ããŠããŸãããä¿¡ããŠãã ãã-ããã¯èµ·ãããŸãã æãåçŽãªãªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ããç©çã³ã³ãã¥ãŒã¿ãŒãæ¥ç¶ãããŠãããããã¯ãŒã¯äžã®DHCPã¢ãã¬ã¹ãäžè¶³ããŠããããsshãããã¯ãããåã«ã·ã¹ãã ã«ãã®ã¢ãã¬ã¹ãçºè¡ããããã³ã«ç¢ºèªããããªãå Žåã
VirtualBoxã§2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããæ¹æ³
2ã€ã®ãããã¯ãŒã¯ã¢ããã¿ãŒãããããã«ä»®æ³ãã·ã³ãæ§æããã®ã¯ç°¡åã§ãïŒïŒãããã¯ãŒã¯ïŒã¿ãã§ãæåã®ã¢ããã¿ãŒããã¹ãã¢ããã¿ãŒã¢ãŒãã§ã¢ã¯ãã£ãã§ããã ãã§ãªãã2çªç®ã®ã¢ããã¿ãŒãNATã¢ãŒãã§ã¢ã¯ãã£ãã§ããããšã瀺ãå¿ èŠããããŸãïŒäžå³ãåç §ïŒã SmartOSã®å ŽåãSolaris 10ä»®æ³ãã·ã³10/09以éïŒ64ãããïŒã®ã¿ã€ããéžæããããšã«æå³ãããããšã«æ³šæããŠãã ããã Solaris 11ãªãã·ã§ã³ã®æ¹ãåªããŠããå ŽåããããŸãã åé¡ãé 延ããªãæ©èœããŸããã
ä»ã«äœãèšå®ããå¿ èŠããããŸããïŒ
latest.isoãã¡ã€ã«ãä»®æ³ãã·ã³ã®CD-ROMã«æ·»ä»ããå¿ èŠããããŸã-SmartOSã¯ããããèµ·åããŸãã
ᅩ
åããŠããŒãããåŸãã·ã¹ãã ã¯èšå®ïŒç¹ã«ã«ãŒããã¹ã¯ãŒãïŒã«ã€ããŠããã€ãã®è³ªåããããã£ã¹ã¯ããã©ãŒããããããã£ã¹ã¯äžã«ZFSããŒã«ãäœæããèšå®ããã£ã¹ã¯ã«æžã蟌ã¿ãŸãã åèµ·ååŸã次ã®å³ã®ãããªãã®ã衚瀺ãããŸãã
ᅩ
åã«èšå®ãããã¹ã¯ãŒãã䜿çšããŠãrootãšããŠãã°ã€ã³ããŸãã sshã䜿çšããŠSmartOSã«æ¥ç¶ã§ããããã«ãªããŸããããã®ããã«ã¯ããµãŒããŒã®ã¢ãã¬ã¹ã確èªããã ãã§ãã
ipadm show-addr
SmartOSã§2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããæ¹æ³
SmartOSã®ã·ã¹ãã æ§æã¯ã/ usbkey / configãã¡ã€ã«ã«ä¿åãããŸãã / usbkeyãã¡ã€ã«ã·ã¹ãã ã¯ã/ etcãšã¯ç°ãªãããã£ã¹ã¯ããããŠã³ããããŸãã/etcã¯ãLiveCDãŸãã¯LiveUSBããåžžã«ããŒããããRAMãã£ã¹ã¯ã«ããŠã³ããããŸãã ãããã£ãŠã/ãªã©ãããã¡ã€ã«ã«å ããããå€æŽã¯åèµ·åæã«å€±ããã/ usbkeyã«ä¿åãããŸãã
ãã¡ã€ã«/ usbkey / configã¯ãã³ã³ãã¥ãŒã¿ãŒã§SmartOSãåããŠèµ·åãããšãã«äœæãããããã©ã«ãã§ã¯ã·ã¹ãã ã®æåã®ã€ã³ã¿ãŒãã§ã€ã¹ã®ã¿ãèšè¿°ããŸãã 2çªç®ã®ãã®ã衚瀺ããã«ã¯ããã¡ã€ã«ããããã«å€æŽããå¿ èŠããããŸãã å€æŽããã«ã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã®MACã¢ãã¬ã¹ãèŠã€ããå¿ èŠããããŸãã ãããè¡ãã«ã¯ã次ã®ã³ãã³ãã䜿çšã§ããŸã
dladm show-phys -m
LINK SLOT ADDRESS INUSE CLIENT e1000g0 primary 8:0:27:f7:e9:a3 yes e1000g0 e1000g1 primary 8:0:27:d0:35:3b no --
/ usbkey / configãã¡ã€ã«ã次ã®ããã«å€æŽããŸãããã
# # This file was auto-generated and must be source-able by bash. # # admin_nic is the nic admin_ip will be connected to for headnode zones. admin_nic=8:0:27:f7:e9:a3 admin_ip=dhcp admin_netmask= admin_network=... admin_gateway=dhcp external_nic=8:0:27:d0:35:3b external_ip=dhcp external_netmask=255.255.255.0 external_gateway=dhcp dns_resolvers=8.8.8.8,8.8.4.4 dns_domain= ntp_hosts=pool.ntp.org compute_node_ntp_hosts=dhcp
SmartOSå ã§ä»®æ³ãã·ã³ãäœæãã
æåã«ãä»®æ³ãã·ã³ã®ã€ã¡ãŒãžãããŠã³ããŒãããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãç»åã®ãªã¹ããæŽæ°ããŸãã
imgadm update
次ã«ããªããžããªã«ããæ¢è£œã®ã€ã¡ãŒãžãèŠãŠã¿ãŸãããã
imgadm avail
UUID OS PUBLISHED URN 78ab4d60-2610-11e2-b3f7-b3bd2c369427 linux 2012-11-04 sdc:jpc:ubuntu-12.04:2.1.2 6a67c702-2083-11e2-b4fa-03f9d1d64ef0 linux 2012-10-28 sdc:jpc:ubuntu-12.04:2.1.1 b00acc20-14ab-11e2-85ae-4f03a066e93e smartos 2012-10-12 sdc:sdc:mongodb:1.4.0 1fc068b0-13b0-11e2-9f4e-2f3f6a96d9bc smartos 2012-10-11 sdc:sdc:nodejs:1.4.0 8700b668-0da4-11e2-bde4-17221283a2f4 linux 2012-10-03 sdc:jpc:centos-6:1.3.0 55330ab4-066f-11e2-bd0f-434f2462fada smartos 2012-09-25 sdc:sdc:base:1.8.1 60a3b1fa-0674-11e2-abf5-cb82934a8e24 smartos 2012-09-25 sdc:sdc:base64:1.8.1 ...
ããã§ãã€ã³ã¹ããŒã«å¯èœãªã€ã¡ãŒãžã®ãªã¹ããã§ããŸããã ããã«ãªã¹ãã®äžéšã ãããããŸã-ããã¯ãã£ãšé·ãã§ãã å·çæç¹ã§ã¯ã96åã®ç»åããªããžããªã§å©çšå¯èœã§ããã node.jsãå«ãæå°éã®ã·ã¹ãã ã§ããbase64ã€ã¡ãŒãžã«èå³ããããŸãã çŸåšããã®ã€ã¡ãŒãžã®ææ°ããŒãžã§ã³ã¯1.8.1ïŒããŒã0.8.9ãå«ãïŒã§ããã®UUIDã¯60a3b1fa-0674-11e2-abf5-cb82934a8e24ã§ãã
ä»®æ³ãã·ã³ã®ã€ã¡ãŒãžãããŠã³ããŒãããŸãã
imgadm import 60a3b1fa-0674-11e2-abf5-cb82934a8e24
次ã«ãä»®æ³ãã·ã³ã®èª¬æãäœæããŸããããã¯ãããŒãããã°ããã®ã€ã¡ãŒãžã«åºã¥ããŠäœæããSmartOSãã¹ãå ã§å®è¡ããŸãã
説æã¯JSONãã¡ã€ã«ã®åœ¢åŒã§äœæãããŸãïŒããã»ã¹ã®è©³çŽ°ã¯smartos.orgã®ããã¥ã¡ã³ãã§èª¬æãããŠããŸããããã«å®éã®äŸãé 眮ããŸããããã§ã¯/zones/template.jsonã«é 眮ããŸãïŒã ãã¡ã€ã«ã¯ãã¡ã€ã«ã·ã¹ãã ã«ããå¿ èŠããããŸãããã¡ã€ã«ã·ã¹ãã ã¯ãã£ã¹ã¯äžã«ãããåèµ·åã®éã«ä¿åãããŸããæã䟿å©ãªã®ã¯/ãŸãŒã³ã§ãã
dataset_uuidã«æ³šæããŠãã ãã-ããã¯ããªããžããªããåä¿¡ããã°ããã®ã€ã¡ãŒãžã«å±ããUUIDãšåãã§ãã ãŸãŒã³ã«ã¯ããå éšããšãå€éšãã®2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã ãã®èšå®ã¯ãå®éã®ããŒã¿ã»ã³ã¿ãŒã§äœ¿çšãããŸããå éšãããã¯ãŒã¯ã¯ãããŒã¿ã»ã³ã¿ãŒç®¡çè ãåãå éšã€ã³ã¿ãŒãã§ã€ã¹ã«æ¥ç¶ãããå€éšãããã¯ãŒã¯ã¯ãã¯ã©ã€ã¢ã³ãã®çºä¿¡å ã§ããã€ã³ã¿ãŒãããã«æ¥ç¶ãããŸãã
{ "brand": "joyent", "dataset_uuid": "60a3b1fa-0674-11e2-abf5-cb82934a8e24", "max_physical_memory": 1024, "nics": [ { "nic_tag": "admin", "ip": "dhcp", "gateway": "dhcp" }, { "nic_tag": "external", "ip": "dhcp", "gateway": "10.0.3.2" } ] }
çŸåšãæ°ããSmartOSä»®æ³ãã·ã³ãäœæããŠããŸãïŒç°¡æœã«ãããããåŒãç¶ãããŸãŒã³ããšåŒã³ãŸãïŒã
vmadm create -f /zones/ template.json
ãã¹ãŠãããŸããã£ãå Žåã次ã®ã³ãã³ããå ¥åããŠãèµ·åãããæ°ãããŸãŒã³ã確èªã§ããŸãã
vmadm list UUID TYPE RAM STATE ALIAS 570cccb2-0511-400b-9143-7616b2ca8a3d OS 1024 running -
ããã§ãSmartOSã³ã³ãœãŒã«ãŸãã¯sshããæ°ãããŸãŒã³ã«æ¥ç¶ã§ããŸãã
zlogin 570cccb2-0511-400b-9143-7616b2ca8a3d
泚ïŒåãã€ã¡ãŒãžããå€ãã®ãŸãŒã³ãäœæã§ããããããŸãŒã³ã®UUIDã¯ãŸãŒã³ã€ã¡ãŒãžã®UUIDãšã¯ç°ãªããŸãã åæã«ã1ã€ã®SmartOSãã¹ãã·ã¹ãã ã§æ倧8191å°ã®ä»®æ³ãã·ã³ãèµ·åã§ããŸãã
sshãä»ããŠãŸãŒã³ã«æ¥ç¶ããã«ã¯ãã©ã®ã¢ãã¬ã¹ãå²ãåœãŠãããŠããããæ確ã«ããå¿ èŠããããŸã;ãã®ããã«ã¯ããŸãzloginãä»ããŠåå ãã次ã«ã¢ãã¬ã¹ãèŠã€ããå¿ èŠããããŸãã
zlogin 570cccb2-0511-400b-9143-7616b2ca8a3d ipadm show-addr
ããã±ãŒãžç®¡ç
ããã§ãå¿ èŠãªããã±ãŒãžããŸãŒã³ã«ã€ã³ã¹ããŒã«ã§ããŸãã ãããè¡ãã«ã¯ã pkgin updateã䜿çšããŠå©çšå¯èœãªããã±ãŒãžã«é¢ããæ å ±ãæŽæ°ãããããããã®ãªã¹ãpkginãªã¹ããååŸãããã pkgin searchã䜿çšããŠå¿ èŠãªãã®ãæ€çŽ¢ããå¿ èŠããããŸã ã ããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯ã pkgin installã䜿çšããŸãã
Node.jsã®å®è¡æ¹æ³
以åã«Node.jsã«æ £ããŠããªãã£ããšããŸãã 次ã«ãåå¿è åãã«ãç°¡åãªHelloãWorldïŒãçæããéåžžã«ã·ã³ãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã ããç¥ãããã¬ã€ããèªãããšã§Node.jsã®ãã¹ã¿ãŒãéå§ã§ããŸã ã ããã«ç¶ããŠãHelloãWorldãäœæããŸãã
ãããè¡ãã«ã¯ããŸãŒã³ã«æ¥ç¶ããŸã
zlogin 570cccb2-0511-400b-9143-7616b2ca8a3d
ãããŠãããšãã°ã/ home / nodeãã£ã¬ã¯ããªã«ã次ã®å 容ã®server.jsãã¡ã€ã«ãäœæããŸãã
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(80);
ããŒã/home/node/server.jsãå®è¡ããéåžžã®ãã©ãŠã¶ãŒãããŸãŒã³ã«ã¢ã¯ã»ã¹ããŸãã ç§ã®å Žåãããã«ã¯ãŸãŒã³ãšWindowsãã¹ãã·ã¹ãã éã®ã«ãŒãã£ã³ã°ã®ã»ããã¢ãããå¿ èŠã§ããã
ãŸãŒã³å ïŒroute add 192.168.56.1 192.168.56.101
Windowsã®å ŽåïŒ192.168.56.102 192.168.56.101ãè¿œå ããã«ãŒã
ã¢ãã¬ã¹192.168.56.1ã¯Windowsã®VirtualBoxã€ã³ã¿ãŒãã§ã€ã¹ã192.168.56.101ã¯SmartOSãã¹ãã·ã¹ãã ã192.168.56.102ã¯ãã®ãŸãŒã³ã§ãã
Node.jsã§DTraceã䜿çšããæ¹æ³ã¯ïŒ
ããŒãã®DTraceãããã€ããŒã¯ïŒãµãã©ã€ãºïŒïŒããŒããšåŒã°ããŸãã ããã¯USDTã¿ã€ãã®ãããã€ããŒã§ãããããã»ã³ãµãŒã¯node * ::: <ã»ã³ãµãŒå>ã®åœ¢åŒã§æå®ãããã node3297 ::: <ã»ã³ãµãŒå>ãªã©ã®ããŒãããã»ã¹ã®ç¹å®ã®PIDã§æå®ããå¿ èŠããããŸãã
Node.jsã§DTraceã䜿çšããŠãµãŒããŒã®åäœãç£èŠããå®éã®äŸã¯ãåŒã³åºããèšé²ããããšã§ãã ããŸããŸãªãŸãŒã³ããã®ãµãŒããŒãåä¿¡ããèŠæ±ãèŠã€ããã«ã¯ïŒãã¹ãã£ã³ã°ãããã€ããŒã®äžè¬çãªã±ãŒã¹ïŒãçãã¹ã¯ãªãããå®è¡ããŸãã
# dtrace -L /var/lib/dtrace -n 'node*:::http-server-request{printf("%s: %s of %s\n",zonename, args[0]->method, args[0]->url)}' -q 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of / 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of /favicon.ico 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of / 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of /favicon.ico 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of / 570cccb2-0511-400b-9143-7616b2ca8a3d: GET of /favicon.ico
ãªã¯ãšã¹ãã®éä¿¡å ã¢ãã¬ã¹ã確èªããã«ã¯ãã¹ã¯ãªããããããã«å€æŽã§ããŸãã
# dtrace -L /var/lib/dtrace -n 'node*:::http-server-request{printf("%s: %s of %s\n",args[1]->remoteAddress, args[0]->method, args[0]->url)}' -q 192.168.56.1: GET of / 192.168.56.1: GET of / 192.168.56.1: GET of /favicon.ico 192.168.56.1: GET of / 192.168.56.1: GET of /favicon.ico 192.168.56.1: GET of / 192.168.56.1: GET of /
次ã®ã»ã³ãµãŒã¯ãDTraceã®ããŒãã§äœ¿çšã§ããŸãã
gc-start
gc-done
http-client-request
http-client-response
http-server-request
http-server-response
ããããµãŒããŒæ¥ç¶
ããããœã±ããèªã¿åã
ããããœã±ããæžã蟌ã¿
ãããã¹ããªãŒã ãšã³ã
äžéšã®ã»ã³ãµãŒã䜿çšã§ããªãããšãããã£ãå Žåãããã¯/usr/lib/dtrace/node.dãã¡ã€ã«ããªãããšã瀺ããŠããŸãã 次ã«ã/ var / lib / dtrace /ãã£ã¬ã¯ããªãäœæããããã«ãã¡ã€ã«ãããŠã³ããŒããïŒ https://raw.github.com/joyent/node/master/src/node.dã«ãããŸã ïŒã-L /ã¹ã€ãããæå®ããŠdtraceãå®è¡ããå¿ èŠããããŸãã var / lib / dtrace /ïŒãDTraceã©ã€ãã©ãªæ€çŽ¢ãã¹ã§LããŒã®åŸã«æå®ããããã£ã¬ã¯ããªãå«ãããããšãæå³ããŸãïŒã
ã³ãŒãäŸïŒè±èªïŒãå«ãã»ã³ãµãŒã®è©³çŽ°ãªèª¬æã¯ã dtrace.org / blogs / rm / 2011/03/01 / dtrace-probes-for-node-v0-4-x /ïŒhttpdããŒãžã«ãããŸãïŒãã ãã Node.jsã®å€ãããŒãžã§ã³ïŒã
ãããã«
SmartOSèšå®ã®ç¹å¥ãªé åã¯ãäžåºŠã€ã³ã¹ããŒã«ãããšãæŽæ°åŸã«ç¹°ãè¿ãå¿ èŠããªãããšã§ãã ææ°ã®latest.isoãããŠã³ããŒããã以åã®ãã®ãšçœ®ãæããŠãæ°ãããã®ããèµ·åã§ããŸãã ãã¹ãŠã®èšå®ãä»®æ³ãã·ã³ãããã³ãã®äžã®ãã¡ã€ã«ã¯èªåçã«ååŸãããŸããããã¯ã誰ãäœãå€æŽããªãããã§ããããŠã³ããŒããããã€ã¡ãŒãžã®ã¿ãå€æŽãããèšå®ã¯ãããšã¯å¥ã«ååšããŸãã
DTraceã«ã€ããŠã®ç§ã®è©±ãèããã人ã¯ã11æ29æ¥19:00ã«Yandexã®ãµã³ã¯ãããã«ãã«ã¯ãªãã£ã¹ã§åŸ ã£ãŠããŸãã ã»ãããŒã¯å®å šã«ç¡æã§ããã座åžæ°ã¯éãããŠããããã ç»é²ããå¿ èŠããããŸã ã ããã«è©²åœããªã人ã®ããã«ãäž»å¬è ã¯ãªã³ã©ã€ã³æŸéãæäŸããŸã ã ã»ãããŒã®éèŠãªéšåã¯å®éçãªåé¡ã®è§£æ±ºã«ãªããããVirtualBoxã®äžã«SmartOSãã€ã³ã¹ããŒã«ãããã©ããããããæåããå¿ èŠããããšèšããŸãã
ãã®äŒè°ã¯ãUNIXç³»ã·ã¹ãã ã®ã¢ããªã±ãŒã·ã§ã³ããã©ãŒãã³ã¹ã®åæã«é¢å¿ããã人ãç¹ã«SolarisãœãããŠã§ã¢éçºè ãNode.jsãœãããŠã§ã¢éçºè ãã·ã¹ãã 管çè ãããã³ããã©ãŒãã³ã¹ãæ åœãããã®ä»ã®äººïŒFreeBSDãSolarisãQNXãOpenIndiana SmartOSããã³DTraceããµããŒããããã®ä»ïŒã