我在分布式模式下运行测试,包含1个主服务器和2个从服务器。 一个从站生成99个用户加载,另一个生成1个用户负载(从属性文件中读取用户计数)。 我正在使用同步计时器并将其中的Group by值设置为100,因为我希望所有100个请求(99 + 1)一起执行。它运行不正常,可能是因为jmeter在两个从站中分别执行测试计划。所以,我正在从两个从站的user.properties文件中读取同步计时器的值,对于从站1,值为99,而对于其他它是1.它执行我的计划,但第二个从站请求不与奴隶一个。 如何在两个从站中同步请求。
答案 0 :(得分:0)
你的测试计划设计得不是很好,你无法达到这种同步水平,因为JMeter奴隶是完全独立的野兽,因此他们对彼此一无所知。我可以建议以下选项:
单线程组+ If Controller:
使用If Controller和__threadNum() function组合只告诉第一个线程读取属性文件,如:
${__threadNum} == 1
单线程组+ Throughput Controller
不同的线程组:
您可以使用Inter-Thread Communication Plugin确保99 users load
完成1 user load
后立即执行func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "TableCollectionViewCell", for: indexPath) as! TableCollectionViewCell
if cell.isSelected == true{
self.changeSelectedCellFrame(cell)
}
else
{
self.changeDeselectedCellFrame(cell)
}
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath) as! TableCollectionViewCell
self.changeSelectedCellFrame(cell)
}
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
if let cell = collectionView.cellForItem(at: indexPath) as?TableCollectionViewCell
{
self.changeDeselectedCellFrame(cell)
}
}
func changeSelectedCellFrame(_ cell:TableCollectionViewCell) {
cell.layoutIfNeeded()
cell.viewTopConstraint.constant = 0
cell.viewBottomConstraint.constant = 20
cell.layoutIfNeeded()
}
func changeDeselectedCellFrame(_ cell:TableCollectionViewCell) {
cell.layoutIfNeeded()
cell.viewTopConstraint.constant = 10
cell.viewBottomConstraint.constant = 10
cell.layoutIfNeeded()
}
。