我一直在使用apachebench(ab)命令行实用程序,但我不确定它是否适合我正在尝试的工作。
我运行了10个并发请求和10个请求,在一个mysql表中执行一个insert,并查看round(microtime(1) * 10000)
以查看是否得到了相同的值。
我想知道使用延迟执行usleep()
是否足以防止两个同时请求在同一个框上获得相同的值,或者是time_sleep_until
更好。
我知道我可以用uniqid()
设置更多的熵。
所以我想知道使用延迟执行是否足以阻止两个确切的时间戳。
最佳答案
所以您想知道round(microtime(1) * 10000)
是否可以给出重复的值?当然可以,我不认为你需要测试这个。uniqid
也不能保证是唯一的,即使熵更大。
如果唯一性非常重要,那么可以始终使用带有唯一索引的mysql来强制实现唯一性。