以下示例配置了五个具备不同特征的应用程序。
表 8–1 目标应用程序和特征
应用程序类型和名称 |
特征 |
---|---|
应用程序服务器,app_server。 |
CPU 超过 2 个时,可伸缩性会降低。将包含两个 CPU 的处理器集分配给 app_server。使用 TS 调度类。 |
数据库实例,app_db。 |
大量多线程。使用 FSS 调度类。 |
测试和开发,development。 |
基于 Motif。执行未经测试的代码。交互式调度类可以确保用户界面的响应性。使用 process.max-address-space 强加内存限制并使对整体运行情况的影响降至最低程度。 |
事务处理引擎,tp_engine。 |
响应时间极为重要。分配一个至少由两个 CPU 组成的专用集,以确保响应时间保持在最低程度。使用分时调度类。 |
独立数据库实例,geo_db。 |
大量多线程。为多个时区提供服务。使用 FSS 调度类。 |
将数据库应用程序(app.db 和 geo_db)整合到一个至少由四个 CPU 组成的处理器集中。使用 FSS 调度类。应用程序 app_db 将获得 project.cpu-shares 的 25%。应用程序 geo_db 将获得 project.cpu-shares 的 75%。
编辑 /etc/project 文件。将用户映射到 app_server、app_db、development、tp_engine 和 geo_db 项目项的资源池。
hostname# cat /etc/project
. . . user.app_server:2001:Production Application Server:: project.pool=appserver_pool user.app_db:2002:App Server DB:::project.pool=db_pool, project.cpu-shares=(privileged,1,deny) development:2003:Test and delopment::staff:project.pool=dev.pool, process.max-addressspace=(privileged,536870912,deny) user.tp_engine:Transaction Engine:::project.pool=tp_pool user.geo_db:EDI DB:::project.pool=db_pool; project.cpu-shares=(privileged,3,deny)
以“project.pool”、“project.cpu-shares=”、“process.max-addressspace”和“project.cpu-shares=”开始的行中的换行符在项目文件中是无效的。此处显示的换行符只是为了方便示例在打印页面或显示页面上显示。每一项都必须占用一行且必须仅占用一行。
为资源池创建 pool.host 脚本并添加项。
hostname# cat pool.host
create system host create pset dev_pset (unit pset.max = 2) create pset tp_pset (unit pset.min = 2) create pset db_pset (unit pset.min = 4; uint pset.max = 6) create pset app_pset (unit pset.min = 1; uint pset.max = 2) create pool dev_pool (string pool.scheduler="IA") create pool appserver_pool (string pool.scheduler="TS") create pool db_pool (string pool.scheduler="FSS") create pool tp_pool (string pool.scheduler="TS") associate pool pool_default (pset pset_default) associate pool dev_pool (pset dev_pset) associate pool pool appserver_pool (pset app_pset) associate pool db_pool (pset db_pset) associate pool tp_pool (pset tp_pset)
以“boolean”开始的行中的换行符在 pool.host 文件中是无效的。此处显示的换行符只是为了方便示例在打印页面或显示页面上显示。每一项都必须占用一行且必须仅占用一行。
运行 pool.host 脚本并修改 pool.host 文件中指定的配置。
hostname# poolcfg —f pool.host
读取 pool.host 资源池配置文件并初始化系统上的资源池。
hostname# pooladm —c