我正在做一些基准测试,并希望禁用 EC2 中的超线程以查看它对我的测试应用程序性能的影响。
我的应用程序的单个实例在执行期间仅使用 1 个线程。
据我了解,我无法访问 EC2 计算机的 BIOS 来禁用超线程,因为它们都是虚拟化的。但我使用该chcpu命令禁用了一半可用的 vCPU(线程),以便我可以模拟禁用超线程的环境。
对于此基准测试,我使用带有 4 个 vCPU 的 C4.xlarge,逻辑编号为 0 到 3。
我运行此命令sudo chcpu -d 1,3禁用 vCPU 1 和 3。
在此过程中,我假设 vCPU 0 和 1 来自单个底层裸机核心,vCPU 2 和 3 来自另一个核心。
我知道我的假设是错误的,因为 vCPU 0 和 4 可能来自同一个裸机核心,也可能全部来自不同的裸机核心。
有没有人有更好的方法来禁用 EC2 实例中的超线程?
当亚马逊检测到一半的 vCPU 被禁用时,是否会重新排列 vCPU,使它们来自不同的内核?
我正在尝试使用Google Maps API在Google地图上绘制GeoJSON LineString.
我将GeoJSON对象作为AJAX响应并使用"map.data.addGeoJson(data)"函数在地图上加载GeoJSON响应.
GPS纬度和长点全部从Open Street Maps网站的.gpx文件中删除,然后放入数据库.然后将它们编译成GeoJSON格式,然后发送到网站.
各个点都在德国,但轨迹在索马里附近.
有人可以帮我吗?
包含AJAX请求的initMap函数如下:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: {lat: 53.44620230866472, lng: 9.666813185187198},
mapTypeId: google.maps.MapTypeId.TERRAIN,
});
$.ajax({
url: 'http://ADDRESS TO SERVER/api/geodata/getLineString',
data: {"usrid":3,"startd":"2016-04-17","endd":"2016-04-18"},
type: 'POST',
success: function (response) {
map.data.addGeoJson(response);
},
error: function () {
alert("error");
},
});
}
Run Code Online (Sandbox Code Playgroud)
整个GeoJSON响应如下:
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
51.731921404763426,
14.342405595236764
],
[
51.731914999999994,
14.342412
],
[
51.73192399392278,
14.342408729482642
],
[
51.73193,
14.342416000000004
],
[ …Run Code Online (Sandbox Code Playgroud)