Jump to content
php.lv forumi

Atrasts internetā


briedis

Recommended Posts

Man spēļu serverī katrs lietotājs 20 reizes sekundē sūta savas komandas un 20 reizes sekundē saņem stāvokļa izmaiņas, pie 200 lietotājiem sanāk ap 4000 komandu apstrāde un 4000 stāvokļu nosūtīšanas, pie tam katrs stāvoklis, ko sūta var būt 1 - 20+ lietotāju dati. Rezultātā apjoms var sasniegt pat 100k datu vienību sekudē. Pie šāda apjoma, trafiks parasti ir ap 10Mbs up un 1Mbs down.

Un tu taču neglabā katru izmaiņu kaut kādā DB, vai ne? :P tikai rezultējošo steitu?

Link to comment
Share on other sites

  • Replies 539
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Fellony, ārēja db netiek izmantota, ir tikai iekšējas datu struktūras, kuras glabājas RAMā, kas kalpo kā tāda RAM db, bet tas nemaina būtību, ka datu 1 sekundē ir ļoti daudz.

 

Wuu, priekš ģeolokācijas tiek izmantots kd-Tree, kas arī tiek kverijots, lai noskaidrotu, kuri objekti iedarbojas ar tevi un kuri objekti ir tavā redzamības zonā un par kuriem dati tev jāsaņem. Dati tiek sūtīti maksimāli optimizēt - katram lietotājam tikai tie, kas nepieciešami, piemēram, lietotāju koordinātes, tikai tiem lietotājiem, kurus redzi, apēstā un uzrodošās pārtika, tikai tajā brīdi, kad pazūd vai uzrodas.

Link to comment
Share on other sites

Viss tā vai tā glabājas bināri, gan atmiņā, gan sūtot pa tīklu, gan arī visas matemātiskās darbības tiek veiktas binārā formā. Decimāli tiek reprezentēti skaitļi tos attēlojot lietotājam. Heksadecimāli varētu būt reprezentētas tikai kāds krāsu kods CSSā.

Link to comment
Share on other sites

Uzņēmums, sānu projekti, tagad ar freelancers un drīz arī pats pie saviem projektiem sākšu. Imho, šīs jaunās JavaScript tehnoloģijas, ļauj uzbliezt servisu pāris nedēļu laikā.

Pēc papīriem esmu projektu vadītājs.  

IMO tās pāris nedēļas ir 20% laika un 80% funkcionalitātes. Pēc tam sākās 8 nedēļas, lai novestu līdz galam. :)

 

Tās "tas ir tikai pāris nedēļas" ir konstante IT jomā. Tas velk uz programmētājiem, kuri pazūd, un tiem, kas savāc, ir jāskaidro, ka katra izmaiņa nav viss tikai dažas rindiņas un "man jau lieks, ka tur jau nekā nau!"

Link to comment
Share on other sites

Fellony, ārēja db netiek izmantota, ir tikai iekšējas datu struktūras, kuras glabājas RAMā, kas kalpo kā tāda RAM db, bet tas nemaina būtību, ka datu 1 sekundē ir ļoti daudz.

Tu gribi teikt, ka nav atšķirības starp 1000 requestiem/s pret RAM highly-custom optimizētu struct un 1000 requestiem/s pret, teiksim, Postgre? :P Que?

 

Man Tev pat ir konkrēts piemērs - man ir aplikācija, kas darbojas uz N serveriem, diezgan vienkāršs REST agregators. Uz katru kasti 1 instance, threadpool of 9/8, sastāv no SparkJavas kā HTTP + custom in-memory struktūras lai pieglabātu datus, 1 control thread, 4 tredi Spark, 3 tredi workeriem un 1 sync treds (read-write-delete) pret DB, kas šajā gadījumā ir Mongo. 

 

Spark + in-mem struct + Mongo WC:W2: ap 60-65k/rps (jo uz Mongo flush nav jāgaida).

Spark + Mongo WC:NACK (!!!): ap 30-35k/rps.

Spark + Mongo WC:ACK: ap 15k/rps.

Spark + Mongo WC:W2: <10k/rps.

Link to comment
Share on other sites

F3llony, pamēģini https://dbreeze.codeplex.com/- zema līmeņa DB, līdz ar to bez daudzām smukām DB fīčām, bet ļoti ātra uz lieliem apjomiem. Tiesa, native uz C# tur viss, bet gan jau tiksi galā.

Zinu, ka Vācijas uzņēmumi to izmanto mašīnu izsekošanā, uzkrājot datus par maršrutiem un citiem notikumiem un tos pēc tam analizējot.

Link to comment
Share on other sites

tas nemaina būtību, ka datu 1 sekundē ir ļoti daudz.

 

Tu gribi teikt, ka nav atšķirības starp 1000 requestiem/s pret RAM highly-custom optimizētu struct un 1000 requestiem/s pret, teiksim, Postgre? :P Que?

 

Man šķiet codez te runāja par datu daudzumu, nevis ātrumu, kādā tas tiek apstrādāts.

Link to comment
Share on other sites

Man šķiet codez te runāja par datu daudzumu, nevis ātrumu, kādā tas tiek apstrādāts.

 

Mhm.

 

 

 

 

Vai kādam vēl ir atnākusi šāda ziņa no Githuba?

 

Good news — your plan now includes unlimited private repositories.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...