1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Is Chunk Loading in PMMP slightly slower than another?

Discussion in 'General discussion' started by instantlyta, Dec 31, 2016.

  1. instantlyta

    instantlyta Slime

    Messages:
    96
    GitHub:
    intagaming
    After using PMMP for some time, I received some feedback from my players about the performance of the server. The world (Chunks for specific) takes some time to be loaded. The TPS I don't know why but sometimes it drops down to below 10 for awhile and then goes up. This didn't happen to the other PE server software that I've been used before.

    I'm using branch mcpe-1.0. My server has around 30 players at that time. The /timings crashes whenever I try to paste it so there is no timings information. Maybe I've been mistaken somewhere on configuration. Is this happen to anyone else?
     
  2. jasonwynn10

    jasonwynn10 Moderator Poggit Reviewer

    Messages:
    1,489
    GitHub:
    jasonwynn10
    please keep in mind that the mcpe-1.0 branch is currently in heavy development
     
    applqpak likes this.
  3. instantlyta

    instantlyta Slime

    Messages:
    96
    GitHub:
    intagaming
    I think its only about The End and another features, not about Worlds (?)
     
  4. jasonwynn10

    jasonwynn10 Moderator Poggit Reviewer

    Messages:
    1,489
    GitHub:
    jasonwynn10
    they are changing every aspect of the API dealing with worlds, dimensions and the all-inclusive levels
     
    instantlyta and applqpak like this.
  5. Jack Noordhuis

    Jack Noordhuis Zombie Pigman Poggit Reviewer

    Messages:
    618
    GitHub:
    JackNoordhuis
    The mcpe-1.0 branch is in-dev and anything is subject to change at anytime, without any warning. You shouldn't be using it in production, it isn't stable and there is a high probability it will corrupt your world('s).

    The problems you're having with level performance are todo with the fact PocketMine has to re-order the chunks to xzy, due to Mojang removing the ability to send them in other orders in 1.0/0.17. @dktapps has implemented a new world format called pmanvil, it's the exact same as anvil except it saves chunks in the xzy order so chunks don't have to be re-ordered on runtime. @Intyre is currently working on a way to convert existing anvil worlds to pmanvil but for now if you want a pmanvil world you'll have to generate a new world in the pmanvil format.
     
  6. instantlyta

    instantlyta Slime

    Messages:
    96
    GitHub:
    intagaming
    Thanks for the information. Due to the lack of information could you tell me where can I find these and where can I know these information have been asked before?
     
  7. Jack Noordhuis

    Jack Noordhuis Zombie Pigman Poggit Reviewer

    Messages:
    618
    GitHub:
    JackNoordhuis
    From Dylan himself:
    GitHub issue:
    https://github.com/pmmp/PocketMine-MP/issues/179
     
    instantlyta likes this.
  8. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    If you're running a 30-player server with anything other than pmanvil or leveldb, I'm amazed your server isn't perpetually at 0.0001 TPS. Performance loading mcregion and anvil is pretty bad at the moment.
     
    0x15f and Legoboy0215 like this.
  9. Muqsit

    Muqsit Chicken

    Messages:
    1,548
    GitHub:
    muqsit
    Tell me that's not over exaggeration xD

    I have around 75 players and use the same 8 cores to host 4 more server's with the same player count. The average TPS is 16 but that is because my core needs high optimization.
     
    0x15f likes this.
  10. instantlyta

    instantlyta Slime

    Messages:
    96
    GitHub:
    intagaming
    Actually its around 18.75 because its only a few pre-generated chunks :D. Minigames you know.
    However when i try to load the world the TPS begins to drop at first, as you say.
     
  11. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    Yes, I was going to say if you're running a minigame server or whatever you're probably OK, because you aren't reading anything from disk for the most part. Saving is also a real bitch, so if you can get away with disabling auto-save, or just extending the time between autosaves, then do that too.
     
    0x15f, Muqsit and instantlyta like this.
  12. instantlyta

    instantlyta Slime

    Messages:
    96
    GitHub:
    intagaming
    Holy f* crap i just realize why my server got lag spikes. Is that auto-saves?
    Gonna disable it for a moment.
     
  13. MK500

    MK500 Slime

    Messages:
    77
    GitHub:
    markkrueg
    While it's good to remind people of this; it's also helpful to be realistic. On the day Mojang releases a new app, 90% of the (often young) players on our servers auto-update. It doesn't matter how much time we attempt to spend training them on how to avoid updating; empirical evidence shows they just do. A community server that regularly has 40 players will dwindle down to 5 or 6 within 48 hours. So the clock is ticking once there is a new release; and waiting a few weeks or months for there to be a "non alpha" release would be the death of the community of players (they move on).

    This is why I am so incredibly thankful the mcpe-1.0 branch was released to the public -- with clear disclaimers -- on day one. And, thanks to the very high level of quality and hard work by the core team, it (knock on wood) luckily hasn't corrupted our largest 20GB world yet. It's actually reasonably stable. I haven't had any crashes in days. Let's face it, the code quality of the spoon we were using before wasn't nearly as good...so it probably had a high probability of corrupting the world also.

    Thanks for explaining this/reminding us. I knew about this; but I hadn't really through the fact that this re-ordering was happening on the servers I had to leave on mcregion. Doh! No wonder it's lagging as it gets over around 30 users. It's not as terrible as I imagined it would be...maybe due to SSD and plenty of RAM/CPU? But Ugh. *cries into hands*

    Time for me to dig through the code and see if there is some quick-n-dirty workaround. Maybe I could modify the chunk saving code to always save in both mcregion AND pmanvil (in separate folder) whenever writing chunks...so eventually I would have my world. Sorry, I know. You all hate hacks - please don't flame me. I will likely just have to be patient on Intyre.

    Again...HUGE thank you to all the hard working devs who are doing what I am not capable of. You inspire me.
     
    Sandertv likes this.
  14. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    I am working on implementing disk caching for the purposes of improving chunk load times, however it would still lag the first time around, it would take up more disk space and the cache would act as a "patch", kind of - so re-importing worlds back into PC would lose those changes. I'm unsure how to deal with this at the moment, it's still work in progress.

    (I do know one person who added some core hacks to force the core to convert his world, and that wasn't difficult at all, since the new design is very easy to work with.)
     
    Jack Noordhuis, jasonwynn10 and MK500 like this.
  15. MK500

    MK500 Slime

    Messages:
    77
    GitHub:
    markkrueg
    VERY cool on both counts. While I wait to see what you come up with, I will play with the second idea. It should be educational for me either way :) Thanks!
     
    jasonwynn10 and dktapps like this.
  16. MK500

    MK500 Slime

    Messages:
    77
    GitHub:
    markkrueg
    One more comment on this idea: If you do something that is likely to take a lot more disk space quite suddenly; like a cache...it would be good for it to be optional in pocketmine.yml and default to false. Server admins would need time to prepare their disk space for a sudden large jump. Sometimes SSD space for worlds can be at a premium (says the guy with a 20GB world).

    Also regarding "importing worlds back into PC" -- that's something I never do (import/export from PC); but I know a lot of mini-game server admins do that. All my worlds are mcregion generated and built in PocketMine-MP or a spoon from the beginning.
     
    dktapps likes this.
  17. Jack Noordhuis

    Jack Noordhuis Zombie Pigman Poggit Reviewer

    Messages:
    618
    GitHub:
    JackNoordhuis
    It may not have done anything yet but don't forget:
    Just don't forget that any of the future updates have a possibility of breaking just about anything, nothing is off limits during development.
    This is something I used to do quite a lot when I ran a server. I got people to build on a PocketMine server then I'd convert the world (or import it depending on the format) to PC and clean everything up with MCEdit then I'd bring it back to PocketMine to use in production.
     
    dktapps likes this.
  18. robske_110 (Tim)

    robske_110 (Tim) Wither Skeleton Poggit Reviewer

    Messages:
    1,342
    GitHub:
    robske110
    Well, i don't have any performance problem, because i converted all my worlds to pmanvil. I think there are converters now, and PM will be able to do this through plugins soon. (I converted my worlds through hacking the level code into doing so, it isn't that hard.
     
  19. Muqsit

    Muqsit Chicken

    Messages:
    1,548
    GitHub:
    muqsit
    Nice, I would appreciate it if you could share the generator with us because... AFAIK "Intyre is still working on it!"
     
  20. MK500

    MK500 Slime

    Messages:
    77
    GitHub:
    markkrueg
    Please share the code. Post it here or in a gist or on GitHub. It would help many people a great deal.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.