我正在对Ignite进行基准测试并运行以下测试:
使用100K / 1M(3K匹配)获取5K密钥 cache.getAll(keys)
使用:
查询100K / 1MList keys = cache.query(new ScanQuery( (k,p) - > p.getSalary()> 900000) Cache.Entry ::信息getKey).getAll();
我按照建议here调整了持久内存,我使用了独立的ssd for storagePath和walPath,但效果并不理想:
case 1 using 100K - 4,761ms
case 1 using 1M - 4,979
case 2 using 100K - 250ms
case 2 using 1M - 2,207ms
我的对象大小是1k。就是这样:
public class MyPerson implements Serializable
{
/** Resume text (create LUCENE-based TEXT index for this field). */
@QueryTextField
private String resume;
/** MyPerson ID (indexed). */
@QuerySqlField(index = true)
private Long id;
/** Organization ID (indexed). */
@QuerySqlField(index = true)
private Long orgId;
/** First name (not-indexed). */
@QuerySqlField
private String firstName;
/** Last name (not indexed). */
@QuerySqlField
private String lastName;
/** Salary (indexed). */
@QuerySqlField(index = true)
private double salary;
public void setResume(String resume) {
this.resume = resume;
}
public Long getId() {
return id;
}
public MyPerson(Long id){
this.id = id;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
如何改善我的成绩?
谢谢,
Alon