Dwarfer Posted May 2, 2015 Report Share Posted May 2, 2015 Hi, Some feedback from myself. Seems to be running nicely does seem to be able to freely use CPU's easily. However gut feeling so far is its seems to be using more CPU than windows which is strange. Bellow is two ASM Top is Windows Box Bottom is Linux. Both with the same server pbo and client pbo, very similar hardware boxes Link to comment Share on other sites More sharing options...
vbawol Posted May 2, 2015 Report Share Posted May 2, 2015 Interesting to see how Linux performance compares to Windows. Any differences in hardware or command line like -enableHT? Link to comment Share on other sites More sharing options...
Dwarfer Posted May 2, 2015 Author Report Share Posted May 2, 2015 Also my players are reporting *NO* micro lag or stuttering (apart from when the Sapper first spawns). also seems to reload/load in a quarter of the time compared to windows vbawol the Windows box does have -enableHT the linux box no as I am not sure that is even possible is it ?. (testing now with -enableHT as assumed just windows option) I will be swapping the boxes over so all my PROD's are on the linux build and should be able to give some more feed back soon ** Should also say that its the same redis db dump from the Windows box that was loaded on the Linux with 5000 objects or so Link to comment Share on other sites More sharing options...
Dwarfer Posted May 2, 2015 Author Report Share Posted May 2, 2015 OK, This is with HT ON.. CPS was bouncing between 3 and 70 ! Have gone back to -cpucount=4 Will play around with this some more but from what i have seen don't use HT on the linux server ! Link to comment Share on other sites More sharing options...
Dwarfer Posted May 2, 2015 Author Report Share Posted May 2, 2015 Interestingly if you use something like top (press 1 shows the cores) you can see the load boucning around between them and this seems to be what is causing the saw tooth.. doing some more test with cpucount, HT and linux's version of affinity taskset -c Link to comment Share on other sites More sharing options...
Dwarfer Posted May 2, 2015 Author Report Share Posted May 2, 2015 vbawol CPS seems to be very up and down where FPS is solid most of the time.. I'm not actually sure what CPS is, I know from fred's git you see the following, however how much attention should we pay the value ? Alongside to the well known FPS (frames per second), an very interesting value, CPS, is introduced here. CPS is expressed by condition evalations per second and measured from an reference condition in fn_ASM.fsm. You can realize this CPS value as the reciprocal of the current "minimal response delay" of local AI in the running mission. Link to comment Share on other sites More sharing options...
Dwarfer Posted May 3, 2015 Author Report Share Posted May 3, 2015 Interestingly I nuked the DB and you can see the before and after Going to ask my community to go nuts and build :-) Link to comment Share on other sites More sharing options...
Dwarfer Posted May 3, 2015 Author Report Share Posted May 3, 2015 OK We are getting some place now. 8-10 players 50-60AI server controlled on missions. That Dip mas me trying some linux CPU/IO to see if it had impact but using nice -10 helps with the priority Link to comment Share on other sites More sharing options...
Dwarfer Posted May 3, 2015 Author Report Share Posted May 3, 2015 OK, So 6hrs up time random players from 8-16, load of AI on, Windows box I would have seen much less FPS. Players saying very smooth not even change of weather spikes ! second_coming 1 Link to comment Share on other sites More sharing options...
second_coming Posted May 3, 2015 Report Share Posted May 3, 2015 Looking promising! Link to comment Share on other sites More sharing options...
Darth_Rogue Posted May 3, 2015 Report Share Posted May 3, 2015 Dat CPS!! :o Link to comment Share on other sites More sharing options...
Dwarfer Posted May 4, 2015 Author Report Share Posted May 4, 2015 OK, So.. CleanDB all the way until the restart the CPS is Maxing out at 60 most of the time, Restart CleanDB still CPS max. Build loads of stuff (6-7 200 object bases) CPS still fine UNTIL restart.. Then CPS starts to saw tooth allot more between 50-20.. Not sure why.. Clean DB back to solid 60.. FPS is still staying at a good 45-50 no matter what.. SO anyone have any idea why the CPS is lower and why/what it is actually measuring ? and how does that effect load ? Link to comment Share on other sites More sharing options...
second_coming Posted May 4, 2015 Report Share Posted May 4, 2015 Can you monitor the database access at the times you are getting the CPS drop, is it to do with reading the built items from the database? Link to comment Share on other sites More sharing options...
Uro Posted May 4, 2015 Report Share Posted May 4, 2015 I pulled this from Fred's ASM thread on BI forums regarding CPS: CPS value can tell you how often FSM conditions are evaluated (per second). Because AI is mainly controlled by FSMs, a low CPS value means slow reacting AI too. Additional, while playing, you will notice that some actions are delayed more than normally, if CPS is very low. There is a relation between the number of scripts running in the VM (schedeled environment) and the FSM condition evaluation frequency. A low CPS value is most likely caused by an overloaded VM (to many scripts spawned, execVM ...). Link to comment Share on other sites More sharing options...
Dwarfer Posted May 4, 2015 Author Report Share Posted May 4, 2015 Uro That is intersting. Does anyone know if the amount of build-able objects increases the VM (exec) ? Link to comment Share on other sites More sharing options...
axeman Posted May 4, 2015 Report Share Posted May 4, 2015 Looking at the code on the git, it seems to be using the fn_asm.fsm itself to evaluate how fast the FSM conditions are evaluated (more accurately how many are evaluated during a set time in the .fsm). As fn_asm.fsm is running via .fsm it will slow along with other FSMs as the server takes load. The FSM Conditions are the yellow diamond shaped FSM objects where you decide if a condition is met and if to perform an action in that condition object or pass the routine to another FSM state. These conditions are called every tick and can also hold a pre-condition, which is run before the check is made, and an action, which is run if the condition is met. Without careful consideration these can grow and make many unnecessary calls to the engine. I have been religious in reducing the impact of these, as a rule, by declaring vars that may be called more than once, e.g. the value for getPosATL player. Also applying scheduling helps to not make too many calls. For example, do you really need to update how dirty a player is ever single tick, probably not.. In this pseudo fsm you have 4 conditions to check. That said not completed will be checked more than once during a single loop. The code shown is a scheduler within not completed to try and limit the impact if any actions were taken, the scheduling / timer check is still made every tick though. Still refining the scheduling methods.. That's just from a quick glance at the ASM code so if I have missed anything apologies.. EDIT: That code condition would actually be something like: diag_tickTIme - _doCheck > 3 && !_taskCompleted; Dwarfer 1 Link to comment Share on other sites More sharing options...
Dwarfer Posted May 4, 2015 Author Report Share Posted May 4, 2015 Hmm.. So why would build objects have that much effect. Going todo some more testing and strip anything extra back to verify my thoughts @second_coming Not sure how much you can see from redis stats wise (MySQL ;-) ) but I could just run TCPUMP and see if here is much interaction. Link to comment Share on other sites More sharing options...
axeman Posted May 4, 2015 Report Share Posted May 4, 2015 Every additional object has an effect as the engine needs to be aware of it in some capacity, server and client. The book is still out on this and was touched upon during the server performance chat the other night. But, there is a consensus that when objects are at a further distance from a client the client is less 'aware' of them, this can be demonstrated with AI run by a HC, the AI will have issues with player position when a long way from the HC position. TBH, I don't know how much this has improved with A3. The server has to be aware of all objects, again I would expect some optimisation by the engine as vehicles and custom placed objects with no players nearby play no part in active gameplay. Try running an ESP on all vehicles and players on a busy server to demonstrate the hit when collecting info on all objects. Hasn't one of the latest server builds increased the amount of objects? Link to comment Share on other sites More sharing options...
Darth_Rogue Posted May 4, 2015 Report Share Posted May 4, 2015 Another thing to remember is that ASM is no longer getting updated. There have been multiple engine updates to A3 since ASM effectively died, including network optimizations and AI changes. It's likely that there are updates needed so that ASM can work correctly and is properly optimized for these changes. There may come a time where we can no longer rely on ASM for accurate server performance data, if it even continues working at all at some point. Link to comment Share on other sites More sharing options...
maca134 Posted May 4, 2015 Report Share Posted May 4, 2015 Another thing to remember is that ASM is no longer getting updated. There have been multiple engine updates to A3 since ASM effectively died, including network optimizations and AI changes. It's likely that there are updates needed so that ASM can work correctly and is properly optimized for these changes. There may come a time where we can no longer rely on ASM for accurate server performance data, if it even continues working at all at some point. Im not sure thats relevent... ASM reports information about the server, its unlikely those core figures will ever change... Basically, the FPS of the server is the same regardless how you get it. Link to comment Share on other sites More sharing options...
axeman Posted May 4, 2015 Report Share Posted May 4, 2015 It would be interesting to find if there are CPS hits causing issues, would be more interested in client side CSS. Though server side CPS shouldn't hit client side directly. AI on the server could definitely be effected by a drop in CPS. I don't see ASM stopping working any time soon, is fairly basic info being queried. Link to comment Share on other sites More sharing options...
Dwarfer Posted May 4, 2015 Author Report Share Posted May 4, 2015 @axeman Yeah that is what i am trying to figure out.. FPS does not move just CPS. Weird is the Windows box's I have with same DB set on don't do It so I wonder if something todo with bug in arma code. I read on some forum in the depths of a coffee fueled search that 1.44 is going to have more Linux optimization in it or maybe I was just on the magic C8H10N4O2.. Link to comment Share on other sites More sharing options...
Dwarfer Posted May 4, 2015 Author Report Share Posted May 4, 2015 Having a play with the various start up options -cpuCount=4 -exThreads=1 -noCB see if any changes make a difference. One thing to note 17:06:59 "Epoch: Server Start Complete: 14.296 seconds" So much quicker than Windows.. Makes for Testing very good :-) Link to comment Share on other sites More sharing options...
axeman Posted May 4, 2015 Report Share Posted May 4, 2015 Something definitely going on there and should be resolved to keep the CPS steady. Keep an eye out for the clean-up not running as well, vehicles not simulating as quickly and player / vehicle data not saving to the DB as quickly. Are some of the things that may be effected by low CPS. Why the amount of building objects should influence this is a bit of a wonder. What is the time difference between the troughs in CPS. I am assuming something is running at those times for the duration of the trough. The fact that it is fine on windows and enableHT is causing mischief does point to a non Epoch issue but am curious. More testing needed for sure :) Link to comment Share on other sites More sharing options...
Ecphrasis Posted May 15, 2015 Report Share Posted May 15, 2015 Sry for poor english. My server : Intel® Xeon® CPU E3-1220 V2 @ 3.10GHz 1-18 players : 50 FPS no variation 18-26 players : 30-14 FPS, but players say they can't see any change, all is perfectly playable. I caped the server to 26 players because game experience is the most important for me. I tried taskset -c 0,1,2,3 and a priority -10 for the user in limits.conf, but it didn't change anything. I don't know if a windows server can do best or not. the good thing is one reboot/daily is very fine. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now