首页 文章 精选 留言 我的

精选列表

搜索[混元翻译],共10000篇文章
优秀的个人博客,低调大师

【翻译】V8 JavaScript 引擎之延迟反序列化

原文链接 Lazy deserialization 延迟反序列化(Lazy deserialization) 延迟反序列化(Lazy deserialization)功能在 V8 6.4 中默认打开了,带来的好处就是平均每个 Chrome 的选项卡可以节约500KB左右的内存消耗。 如果你对这个话题感兴趣,可以继续往下读,否则就不用浪费时间了。 V8 快照介绍 首先,我们回顾一下 V8 是如何堆快照来加速 Isolate(基本上等同于Chrome里面的选项卡)创建的。google的郭扬有个很好的介绍文章自定义启动快照: JavaScript 规范包含许多内置功能,例如从数学函数到全功能的正则表达式引擎。每个新创建的 V8 上下文(V8 context)从开始就可以使用这些功能。为此,必须在创建上下文时在 V8 的堆上初始化这些功能,将全局对象

优秀的个人博客,低调大师

Openstack 安装部署指南翻译系列 之 启动一个实例

本节创建必要的虚拟网络以支持启动实例。网络选项1包括一个提供者provider(external)网络,一个实例使用它。网络选项2包括一个提供商provider网络,一个实例使用它,一个自助服务(private)网络与一个使用它的实例。本节中的说明使用控制器节点上的命令行界面(CLI)工具。但是,可以按照安装工具的任何主机上的说明进行操作。有关CLI工具的更多信息,请参阅Pike的OpenStackClient文档。要使用仪表板(dashboard),请参阅仪表板(dashboard)用户文档。 1.1.1.1.创建虚拟网络 为配置Neutron时选择的网络选项创建虚拟网络。如果选择选项1,只创建提供商网络。如果选择选项2,需创建提供商和自助服务网络。 1.1.1.1.1.提供商网络 在启动实例之前,必须创建必要的虚拟网络基础架构。对于网络选项1,实例使用通过第2层(桥接/切换)连接到物理网络基础设施的提供商(外部)网络。该网络包括为实例提供IP地址的DHCP服务器。 该admin或其他特权用户必须创建此网络,因为它直接连接到物理网络基础架构。 注意:以下说明和图表使用示例IP地址范围。必须根据特定环境进行调整。 网络选项1:提供商网络 - 概述 网络选项1:提供商网络 - 连接 1.1.1.1.1.1.创建提供商网络 1、在控制器节点上,输入admin凭据以访问仅管理CLI命令: $ . admin-openrc 2、创建网络: $ openstack network create --share --external \ --provider-physical-network provider \ --provider-network-type flat provider 该--share选项允许所有项目使用虚拟网络。 该--external选项将虚拟网络定义为外部网络。如果您想创建一个内部网络,可以改用--internal。默认值为internal。 --provider-physical-network provider 和 --provider-network-type flat使用以下文件中的信息将平面虚拟网络连接到主机接口上的平面(native/untagged)物理网络: ml2_conf.ini: [ml2_type_flat] flat_networks = provider linuxbridge_agent.ini: [linux_bridge] physical_interface_mappings = provider:eth1 3、在网络上创建一个子网: $ openstack subnet create --network provider \ --allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS \ --dns-nameserver DNS_RESOLVER --gateway PROVIDER_NETWORK_GATEWAY \ --subnet-range PROVIDER_NETWORK_CIDR provider 用PROVIDER_NETWORK_CIDRCIDR表示法替代提供商物理网络上的子网。 替换START_IP_ADDRESS及END_IP_ADDRESS使用要为实例分配的子网内范围的第一个和最后一个IP地址。此范围不得包含任何现有的活动IP地址。 替换DNS_RESOLVER为DNS解析器的IP地址。在大多数情况下,可以使用/etc/resolv.conf主机上的文件中的一个。 替换PROVIDER_NETWORK_GATEWAY为提供商网络上的网关IP地址,通常为“.1”IP地址。 例如:提供商网络在203.0.113.1上使用203.0.113.0/24网关。DHCP服务器将每个实例的IP地址从203.0.113.101分配到203.0.113.250。所有实例使用8.8.4.4作为DNS解析器,运行下面的命令: $ openstack subnet create --network provider \ --allocation-pool start=203.0.113.101,end=203.0.113.250 \ --dns-nameserver 8.8.4.4 --gateway 203.0.113.1 \ --subnet-range 203.0.113.0/24 provider 1.1.1.1.1.自服务(self-service)网络 如果选择网络选项2,还可以创建通过NAT连接到物理网络基础架构的自服务(self-service)(私有)网络。该网络包括为实例提供IP地址的DHCP服务器。该网络上的一个实例可以自动访问Internet等外部网络。但是,从互联网这样的外部网络访问该网络上的实例需要一个浮动IP地址。 demo或其他非特权用户可以创建此网络,它仅提供与demo项目中的实例的连接。 警告:必须在自服务网络之前创建提供商(provider)网络。 注意:以下说明和图表使用示例IP地址范围。必须根据您的特定环境进行调整。 网络选项2:自助服务网络 - 概述 网络选项2:自服务网络 - 连接图 1.1.1.1.1.1.创建自助网络 1、在控制器节点上,输入demo凭据以访问仅限用户的CLI命令: $ . demo-openrc 2、创建网络: $ openstack network create selfservice 非特权用户通常不能为此命令提供其他参数。该服务使用以下文件中的信息自动选择参数: ml2_conf.ini: [ml2] tenant_network_types = vxlan [ml2_type_vxlan] vni_ranges = 1:1000 3、在网络上创建一个子网: $ openstack subnet create --network selfservice \ --dns-nameserver DNS_RESOLVER --gateway SELFSERVICE_NETWORK_GATEWAY \ --subnet-range SELFSERVICE_NETWORK_CIDR selfservice 替换DNS_RESOLVER为DNS解析器的IP地址。在大多数情况下,可以使用/etc/resolv.conf主机上的文件中的一个。 替换SELFSERVICE_NETWORK_GATEWAY为要在自助服务网络上使用的网关,通常为“.1”IP地址。 替换SELFSERVICE_NETWORK_CIDR为要在自助服务网络上使用的子网。尽管我们建议使用RFC 1918的网络,您可以使用任意值。 例如:自助网络在172.16.1.1上使用172.16.1.0/24网关。DHCP服务器为每个实例分配一个从172.16.1.2到172.16.1.254的IP地址。所有实例使用8.8.4.4作为DNS解析器。 $ openstack subnet create --network selfservice \ --dns-nameserver 8.8.4.4 --gateway 172.16.1.1 \ --subnet-range 172.16.1.0/24 selfservice 1.1.1.1.1.2.创建路由器 自助网络使用通常执行双向NAT的虚拟路由器连接到提供商网络。每个路由器包含至少一个自助服务网络和提供商网络上的网关的接口。 提供商网络必须包括router:external使自助路由器能够使用它来连接外部网络(如Internet)的选项。本admin或其他特权用户必须包括网络创建过程中,此选项或以后添加。在这种情况下,router:external通过--external在创建provider网络时使用参数来设置该选项。 1、在控制器节点上,输入demo凭据以访问仅限用户的CLI命令: $ . demo-openrc 2、创建路由器: $ openstack router create router 3、在路由器上添加自助网络子网作为接口: $ neutron router-interface-add router selfservice 4、在路由器上的提供商网络上设置网关: $ neutron router-gateway-set router provider 1.1.1.1.1.3.验证操作 在继续操作之前验证操作并修复任何问题。以下步骤使用网络和子网创建示例中的IP地址范围。 1、在控制器节点上,输入admin凭据以访问仅管理CLI命令: $ . admin-openrc 2、列出网络命名空间。你应该看到一个qrouter命名空间和两个 qdhcp命名空间。 $ ip netns 3、列出路由器上的端口以确定提供商网络上的网关IP地址: $ neutron router-port-list router 4、从控制器节点或物理提供商网络上的任何主机Ping此IP地址: $ ping -c 4 203.0.113.102 1.1.1.1.创建m1.nano规格 最小默认规格每个实例消耗512 MB内存。对于包含小于4 GB内存的计算节点的环境,建议创建m1.nano每个实例只需要64 MB 的规格。只有使用这种规格与CirrOS图像进行测试。 $ openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano 1.1.1.2.生成一个密钥对 大多数云镜像支持公钥认证,而不是传统的密码认证。在启动实例之前,必须向Compute服务添加公钥。 1、生效demo项目凭证: $ . demo-openrc 2、生成一个密钥对并添加公钥: $ ssh-keygen -q -N "" $ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey 注意:或者,您可以跳过该ssh-keygen命令并使用现有的公钥。 3、验证加密密钥对: $ openstack keypair list 1.1.1.3.添加安全组规则 默认情况下,default安全组应用于所有实例,并包括拒绝远程访问实例的防火墙规则。对于像CirrOS这样的Linux映像,建议至少允许ICMP(ping)和安全shell(SSH)。 向default安全组添加规则: 允许ICMP(ping): $ openstack security group rule create --proto icmp default 允许安全shell(SSH)访问: $ openstack security group rule create --proto tcp --dst-port 22 default 1.1.1.4.启动一个实例 如果选择了网络选项1,则只能在提供商网络上启动实例。如果选择了网络选项2,则可以在提供商网络和自助服务网络上启动一个实例。 1.1.1.4.1.在提供商网络上启动一个实例 1.1.1.4.1.1.确定实例选项 要启动实例,必须至少指定flavor(规格),镜像名称,网络,安全组,密钥和实例名称。 1、在控制器节点上,输入demo凭据以访问仅限用户的CLI命令: $ . demo-openrc 2、一个flavor指定一个包含处理器,内存和存储的虚拟资源分配配置文件。列出可用的规格: $ openstack flavor list 注意:还可以通过ID引用规格。 3、列出可用镜像: $ openstack image list 此实例使用cirros镜像。 4、列出可用网络: $ openstack network list 此实例使用provider提供商网络。但是,必须使用ID而不是名称来引用此网络。 注意:如果选择选项2,则输出也应包含 selfservice自助服务网络。 5、列出可用的安全组: $ openstack security group list 此实例使用default安全组。 1.1.1.4.1.2.启动实例 1、启动实例: 替换PROVIDER_NET_ID为provider提供商网络的ID 。 注意:如果选择了选项1,并且您的环境仅包含一个网络,则可以省略该--nic选项,因为OpenStack会自动选择唯一可用的网络。 $ openstack server create --flavor m1.nano --image cirros \ --nic net-id=PROVIDER_NET_ID --security-group default \ --key-name mykey provider-instance 2、检查您的实例的状态: $ openstack server list 状态从改变BUILD到ACTIVE时构建过程成功完成。 1.1.1.4.1.3.使用虚拟控制台访问实例 1、获取实例的虚拟网络计算(VNC)会话URL,并从Web浏览器访问它: $ openstack console url show provider-instance 注意:如果您的Web浏览器在无法解析controller主机名,则可以controller使用控制器节点上IP地址。 CirrOS映像包括传统的用户名/密码认证,并在登录提示符下提供这些凭据。登录CirrOS后,建议您使用以下网络连接进行验证ping。 2、验证对提供商物理网关的访问权限: $ ping -c 4 203.0.113.1 3、验证访问互联网: $ ping -c 4 openstack.org 1.1.1.4.1.4.远程访问该实例 1、验证从控制器节点或提供商物理网络上的任何主机到实例的连接: $ ping -c 4 203.0.113.103 2、使用SSH从控制器节点或提供商物理网络上的任何主机访问您的实例: $ ssh cirros@203.0.113.103 1.1.1.4.2.在自助服务网络上启动一个实例 1.1.1.4.2.1.确定实例选项 要启动实例,必须至少指定flavor,镜像名称,网络,安全组,密钥和实例名称。 1、在控制器节点上,输入demo凭据以访问仅限用户的CLI命令: $ . demo-openrc 2、一个flavor指定一个包含处理器,内存和存储的虚拟资源分配配置文件。列出可用的flavor: $ openstack flavor list 3、列出可用镜像: $ openstack image list 此实例使用cirros镜像。 4、列出可用网络: $ openstack network list 此实例使用selfservice自助服务网络。但是,您必须使用ID而不是名称来引用此网络。 5、列出可用的安全组: $ openstack安全组列表 $ openstack security group list 此实例使用default安全组。 6、启动实例: 替换SELFSERVICE_NET_ID为selfservice网络的ID 。 $ openstack server create --flavor m1.nano --image cirros \ --nic net-id=SELFSERVICE_NET_ID --security-group default \ --key-name mykey selfservice-instance 7、检查实例的状态: $ openstack server list 状态从改变BUILD到ACTIVE时构建过程成功完成。 1.1.1.4.2.2.使用虚拟控制台访问实例 1、获取 您的实例的虚拟网络计算(VNC)会话URL,并从Web浏览器访问它: $ openstack console url show selfservice-instance 注意:如果您的Web浏览器在无法解析controller主机名,则可以使用控制器节点IP地址替换。 CirrOS映像包括传统的用户名/密码认证,并在登录提示符下提供这些凭据。登录CirrOS后,建议您使用以下网络连接进行验证ping。 2、验证对自助网关的访问权限: $ ping -c 4 172.16.1.1 3、验证访问互联网: $ ping -c 4 openstack.org 1.1.1.4.2.3.远程访问该实例 1、在提供商虚拟网络上创建一个浮动IP地址: $ openstack floating ip create provider 2、将浮动IP地址与实例相关联: $ openstack server add floating ip selfservice-instance 203.0.113.104 3、检查您的浮动IP地址的状态: $ openstack server list 4、通过控制器节点或提供商物理网络上的任何主机通过浮动IP地址验证与实例的连接: $ ping -c 4 203.0.113.104 5、使用SSH从控制器节点或提供商物理网络上的任何主机访问您的实例: $ ssh cirros@203.0.113.104 本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/1981188 ,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册