2025年1月 JJUG ナイトセミナー資料

ã¯ã˜ã‚ã« ã“ã‚“ã«ã¡ã¯ã€‚インフラエンジニアã®éˆ´æœ¨ã§ã™ã€‚ ã“ã®è¨˜äº‹ã¯ã€æ ªå¼ä¼šç¤¾asken (ã‚ã™ã‘ã‚“) Advent Calendar 2024 ã®20日目ã®è¨˜äº‹ã§ã™ã€‚ ã‚ã™ã‘ã‚“ã§ã¯ã€ä¸€éƒ¨æ©Ÿèƒ½ã§OpenSearchを使ã„始ã‚ã¦ã„ã¾ã™ã€‚ ãŸã¨ãˆã°ã€å‰ã«ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®é«˜æ©‹ã•ã‚“ãŒOpenSearchを活用ã—ãŸãƒ¡ãƒ‹ãƒ¥ãƒ¼æ¤œç´¢ã‚’記事ã«ã—ã¦ãã‚Œã¦ã„ã¾ã™ã€‚ 今回ã¯ã€OpenSearchを商用サービスã§åŠå¹´é‹ç”¨ã—ãŸçµŒé¨“ã§å¾—られãŸãƒŽã‚¦ãƒã‚¦ã¨ã—ã¦ã€å•†ç”¨é‹ç”¨ã«ãŠã‘る注æ„点やã€ãƒ‘フォーマンスを上ã’ã‚‹ãŸã‚ã®æ–¹æ³•ã‚’記載ã—ã¾ã™ã€‚ ※本記事ã§ã¯ã€Amazon OpenSearch Service(AWS上ã§æä¾›ã•ã‚Œã‚‹OpenSearch)をå‰æã¨ã—ã¦ã„ã¾ã™ã€‚ OpenSearchã¯ä½•ã«ä½¿ã†ã‹ OpenSearchã¯ä¸»ã«æ¤œç´¢ã«ä½¿ç”¨ã—ã€ä»£è¡¨çš„ãªç”¨é€”ã¯ã€Œæ–‡å—列検索ã€ã‚„「ベクトル検索ã€ã§ã™ã€‚ 特ã«ã€æ–‡å—列ã®éƒ¨åˆ†ä¸€è‡´æ¤œç´¢ã¯RDBMSãªã©
ã“ã‚“ã«ã¡ã¯ã€SREã®æˆ¸ç”°ã§ã™ã€‚本日ã¯JVM勉強会(é‹ç”¨ç·¨ï¼‰ã«ç¶šã‘ã¦é–‹å‚¬ã—ãŸJVM勉強会(開発編)ã®ä¸€éƒ¨ã‚’公開ã—ã¾ã™ã€‚ 図1 勉強会ã¯ã‚„ã£ã±ã‚ŠGoogle Meetã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³é–‹å‚¬ã—ã¾ã—㟠システムプãƒãƒ‘ティ システムプãƒãƒ‘ティã¯ç’°å¢ƒå¤‰æ•°ã®ã‚ˆã†ã«ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®æŒ™å‹•ã‚’変ãˆã‚‹ãŸã‚ã«åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒå¤šã„ã§ã™ã€‚例ãˆã°OpenJDKãã®ã‚‚ã®ã§ã‚‚ Integer.valueOf() ã§å€¤ã‚’ã©ã®ç¨‹åº¦ã‚ャッシュã™ã‚‹ã‹*1ã‚’è¨å®šã™ã‚‹ãŸã‚ã«ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティを使ã£ã¦ã„ã¾ã™ã€‚ ä»–ã«ã‚‚ user.language ã‚ãŸã‚Šã¯ã‚ˆã知られã¦ã„ã¾ã™ã—ã€æ¨™æº–ã§æä¾›ã•ã‚Œã‚‹ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティも多数ã‚ã‚Šã¾ã™ã€‚ã—ã‹ã—製å“コードã‹ã‚‰ç›´æŽ¥å‚ç…§ã™ã‚‹ã“ã¨ã¯åŸºæœ¬ãªã„ã¨æ€ã£ã¦ã„ã¦ã€ File.pathSeparator ãªã©ã®æä¾›ã•ã‚ŒãŸAPIを使ã†ã“ã¨ãŒæœ›ã¾ã—ã„ã§ã—ょã†ã€‚ã¾ãŸã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティã¯å‹•çš„ã«å¤‰æ›´ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ãŒã€ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティを
In this tutorial, we will talk about how different Java Garbage Collectors work and what you can expect from them. This will give us the necessary background to start tuning the garbage collection algorithm of your choice. Before going into Java Garbage Collection tuning we need to understand two things. First of all, how garbage collection works in theory and how it works in the system we are goi
Java JIT vs Java AOT vs Go for small, short-lived processes Posted on December 20 , 2019 There is still a common belief about Java being slow (especially during the startup) and memory-consuming, making it not being the first option for ephemeral service instances, like containers. This blog post pretends to put some light on those assertions, quantifying the impact of a last-generation JVM in a s
Kotlinã‚’Kotlinらã—ãã€ãã—ã¦å¯èªæ€§ã‚’高ãä¿ã¤é‹ç”¨çŸ¥è¦‹Â - エã‚スパート長澤太郎ã«èžã実装ã®ã‚¤ãƒãƒ 近年注目を集ã‚ã‚‹Kotlinã¯ã©ã®ã‚ˆã†ã«æ›¸ãã€ã©ã®ã‚ˆã†ã«é‹ç”¨ã™ã‚‹ã®ãŒã„ã„ã®ã‹ã€‚2012å¹´ã‹ã‚‰Kotlinã«è¦ªã—ã‚€Ubie社ã®é•·æ¾¤å¤ªéƒŽã•ã‚“ã«ã€ãã®çµŒé¨“ã‹ã‚‰å¾—られãŸKotlinノウãƒã‚¦ã‚’èžãã¾ã—ãŸã€‚ 2011å¹´7月ã«ç™»å ´ã—ãŸJVM言語・Kotlinã¯ã€è¿‘年多ãã®æ³¨ç›®ã‚’集ã‚ã¦ã„る言語ã®1ã¤ã§ã™ã€‚Androidアプリã®é–‹ç™ºè¨€èªžã¨ã—ã¦Google I/O 2017ã§æ£å¼æŽ¡ç”¨ã•ã‚ŒãŸã“ã¨ã‚‚契機ã¨ãªã‚Šã€Kotlinã¯ãã®å˜åœ¨æ„Ÿã‚’一挙ã«é«˜ã‚ã¾ã—ãŸã€‚ ãã—ã¦ã€ã“ã®è¨€èªžã«é»Žæ˜ŽæœŸã‹ã‚‰è¦ªã—ã¿ç¶šã‘ã¦ããŸã®ãŒã€Ubieæ ªå¼ä¼šç¤¾ã®é•·æ¾¤å¤ªéƒŽï¼ˆãªãŒã•ã‚・ãŸã‚ã†ï¼ @ngsw_taro )ã•ã‚“ã§ã™ã€‚æ¥å‹™ã‚„登壇ã€åŸ·ç†æ´»å‹•ãªã©ã€å¤šãã®å±€é¢ã§Kotlinを活用ã—ã€ãƒŽã‚¦ãƒã‚¦ã‚’è“„ç©ã—ã¦ããŸé•·æ¾¤ã•ã‚“ã«ã€Kotlinã®è¨€èªžç‰¹æ€§ã‚„より
#OOMKillerã®æ®ºæ„ 顧客EC2ã®TomcatãŒã‚¢ã‚¯ã‚»ã‚¹ã®ç„¡ã„æ—©æœã«ã‚‚ã‹ã‹ã‚らãšOOMKillerã«çªç„¶æ®ºã•ã‚Œã¦ã—ã¾ã£ãŸã®ã§ã€èª¿æŸ»ã—ãŸé¡›æœ«ã‚’ãŸã¶ã‚“åŒã˜ã‚ˆã†ãªå•é¡Œã«ç›´é¢ã•ã‚Œã¦ã„る方もãŠã‚‰ã‚Œã‚‹ã‹ã¨æ€ã„ã¾ã™ã®ã§å‚™å¿˜éŒ²ã¨ã—ã¦è¨˜è¼‰ã—ã¾ã™ã€‚ Javaヒープã®ãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã«ã‚‚多少役立ã¤ã‹ã¨æ€ã„ã¾ã™ã€‚ (ã“ã®è¨˜äº‹ã¯Java8ãŒå¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚) OOMKillerã¨ã¯Out of Memory時ã«ã€ã‚µãƒ¼ãƒå…¨ä½“を守るãŸã‚ã«ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’消費ã—ã¦ã„るプãƒã‚»ã‚¹ã‚’åœæ¢ã™ã‚‹Linuxã®æ¨™æº–機能ã§ã™ã€‚ ãã®OOMKillerã«ãªã‚“ã¨TomcatãŒçªç„¶æ®ºå®³ã•ã‚Œã¦ã—ã¾ã„ã¾ã—ãŸã€‚ å•ç”無用ã®è¾»æ–¬ã‚ŠçŠ¶æ…‹ã§ã™ã€‚ æ—©æœã§ã™ã®ã§ã‚¢ã‚¯ã‚»ã‚¹ãƒã‚°ã«ã¯ä½•ã‚‚記録ã•ã‚Œã¦ãŠã‚‰ãšã€catalina.outã«ã¯ OpenJDK 64-Bit Server VM warning: Setting LargePageSizeInBytes has n
DQNEO @DQNEO ソフトウェアエンジニア / メルペイâ†USメルカリ/ Goコンパイラを自作ã—ã¦ã‚¢ãƒ¡ãƒªã‚«GoherConã§ç™ºè¡¨ã—ãŸã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚アセンブラも自作。言語å¦/æ–‡å¦/哲å¦/æ•°å¦/金èžç‰ã«èˆˆå‘³ã‚ã‚Š https://t.co/OhiEydOlqy DQNEO @DQNEO Golanã«ã‚ˆã‚‹Go Compiler 作り始ã‚ã¦ã¿ã¾ã—ãŸã€‚150è¡Œãらã„書ã„ãŸã‚‰è¶³ã—ç®—ãŒå‹•ãよã†ã«ãªã£ãŸã€‚github.com/DQNEO/mgc/blob… è¨è¨ˆã¯8ccã‚’ã»ã¼è¸è¥²ã—ã¤ã¤ã€9ccã®çŸ¥è¦‹ã‚’一部å–り込んã§ã„ã¾ã™ã€‚ DQNEO @DQNEO Golangã¯Cã¨æ¯”ã¹ã¦è¨€èªžä»•æ§˜ã«ã¾ã¤ã‚ã‚‹æ´å²çš„紆余曲折ãŒåœ§å€’çš„ã«å°‘ãªã„分ã€ãã®åˆ†ãƒ‘ーサー実装ã¯æ¥½ãªæ°—ãŒã™ã‚‹ã€‚メモリã®ã‚¢ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³(stack/heapをコンパイラãŒåˆ¤å®š)ã¨ã‹GCã¯é›£æ˜“度高ãã†ã ã‘ã©ã€‚ã‚ã¨åž‹æŽ¨è«–ã€interfaceã‚ãŸã‚Šã‚‚ã‚€ãšãã†ã€‚
In the realm of software development, understanding the intricacies and nuances of programming languages is vital. The string manipulation capabilities of Java, specifically the substring method, hold significant relevance, enabling developers to manage and manipulate textual data efficiently. Post version 1.7.0_06, Java underwent substantial modifications to enhance its string functionalities, ne
2019/11/23ã«é–‹å‚¬ã•ã‚ŒãŸJJUG CCC 2019 Fallã§ã®ç™»å£‡è³‡æ–™ã§ã™
機械å¦ç¿’を「社会実装ã€ã™ã‚‹ã¨ã„ã†ã“㨠2025年版 / Social Implementation of Machine Learning 2025 Version
rchaser53noMacBook-Pro:rj rchaser53$ javap -v java/io/PrintStream Classfile jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar!/java/io/PrintStream.class Last modified 2017/07/21; size 9048 bytes MD5 checksum f62b2b102171bb9cd2cefa5efcf0e487 Compiled from "PrintStream.java" public class java.io.PrintStream extends java.io.FilterOutputStream implements java.lan
Javaã®ã‚¸ã‚§ãƒãƒªã‚¯ã‚¹ã§ã—ã°ã—ã°è©±é¡Œã«ä¸ŠãŒã‚‹ã€Œã‚¤ãƒ¬ã‚¤ã‚¸ãƒ£ã€ã«ã¤ã„ã¦æ•´ç†ã—ã¦ãŠããŸã„。 イレイジャã«ã¤ã„ã¦ã¯åƒ•ã‚‚ã„ã‚ã„ã‚ã¨èª¤è§£ã—ã¦ãŠã‚Šã€éŽåŽ»ã«èª¤ã£ãŸç™ºè¨€ã‚’ã—ã¦ã„る。本エントリã¯ãã®è´–罪ã¨ã—ã¦æ›¸ã‹ã‚ŒãŸã‚‚ã®ã§ã‚る。 「イレイジャã€ã¨ã„ã†æ–¹å¼ã«ã¤ã„ã¦ã¯ãƒã‚¬ãƒ†ã‚£ãƒ–ãªèª¤è§£ãŒåºƒã¾ã£ã¦ã„ã‚‹ã¨æ€ã†ã€‚「イレイジャ方å¼ã€ãŒå•é¡Œã®æ ¹ã§ã¯ãªã„事象ã«ã¤ã„ã¦ã€ãれを「イレイジャã®ã›ã„ã€ã§ã‚ã‚‹ã¨èª¤ã£ã¦ç†è§£ã™ã‚‹ã“ã¨ã¯ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã¨ã—ã¦ã¯ãƒžã‚¤ãƒŠã‚¹ã§ã‚る。 ã—ã°ã—ã°ã‚¤ãƒ¬ã‚¤ã‚¸ãƒ£ã®ã›ã„ã¨ã•ã‚Œã‚‹äº‹è±¡ã«new T()ã§ããªã„ã¨ã„ã†è«–点ãŒã‚ã‚‹ãŒã€ã“ã‚Œã¯Javaã®ã‚¸ã‚§ãƒãƒªã‚¯ã‚¹ãŒC#ã§ã„ã†new制約(型変数ã®åˆ¶ç´„ã¨ã—ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’æŒã¤ã“ã¨ã‚’è¦æ±‚ã™ã‚‹æ©Ÿèƒ½)ã‚’æŒãŸãªã„ã“ã¨ã«èµ·å› ã™ã‚‹å•é¡Œã§ã‚る。 ãã®ãŸã‚ã€ã“ã®ç‚¹ã«ã¤ã„ã¦Javaã®è¨€èªžä»•æ§˜ã«æ”¹å–„を求ã‚ã‚‹ã®ã§ã‚ã‚Œã°ã€new制約を導入ã›ã‚ˆã¨ã„ã†ç¾å®Ÿçš„ãªè¦æ±‚ã¨ã™ã‚‹ã¹ãã§ã‚る。 イレイジャ方å¼
1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless時代㮠Javaã«ã¤ã„㦠AWS Presents, Battle against Massive Load using Your Super Sonic Lambda Function! 1 @_kensh Kensuke Shimokawa Amazon Web Services Japan 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Who? 2 •Name • ä¸‹å· è³¢ä»‹ • Kensuke Shimokawa •Company • Amazon Web Services Japan •Role • S
何度ã‹æ•™ãˆã¦ã„ãŸã ã„ã¦ã„ã‚‹ã®ã§ã€ä»Šåº¦ã“ãã—ã£ã‹ã‚Šè¦šãˆã¦ãŠããŸãã¦ã€ã¾ãã•ã‚“ã‹ã‚‰ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’記録。 ## メモリサイズã®è€ƒãˆæ–¹ SpringBootã®ã‚¢ãƒ—リをコンテナã¨ã—ã¦å‹•ã‹ã™å ´åˆã«ã¯768MB以上必è¦ã§ã€1GBãらã„ã¯å‰²ã‚Šå½“ã¦ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã§ã¯ãªã„ã‹ã¨ã„ã†åƒ•ã®ã‚³ãƒ¡ãƒ³ãƒˆã«å¯¾ã—ã¦ã„ãŸã ã„ãŸã‚³ãƒ¡ãƒ³ãƒˆã€‚ ãã‚Œã¯ä¸æ£ç¢º..Tomcatを使ã†å ´åˆã¯æœ€å¤§ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³(スレッド)ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ200ã§+50スレッドãらã„余裕を見るã¨250M (-Xss1M)ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ReservervedCodeCacheSize 240Mã¨DirectMemorySize 10MåŠ ãˆãŸä¸Šã«MaxMetaSpaceSizeãŒã–ã£ãã‚Š50Mãらã„足ã™ã¨550Mãらã„使ã£ã¦ã“ã‚ŒHeapを足ã™ã¨ã‚³ãƒ³ãƒ†ãƒŠã‚µã‚¤ã‚ºâ€” Toshiaki Maki (@making) November 16, 2019 ãã®å‰æã§ã‚ã‚Œã°Heap 2
Oracle JDKã‚’å«ã‚€OpenJDKディストリビューション(以下ã€Javaã¾ãŸã¯JDK)ã«ã¯JFRã‚’ç†é ã«ã•ã¾ã–ã¾ãªåˆ†æžãƒ„ール/仕組ã¿ãŒã‚ã‚Šã¾ã™ã€‚ JDK7ã‹ã‚‰JDK12ã«ã‹ã‘ã¦ãƒˆãƒ¬ãƒ³ãƒ‰ãŒå¤‰ã‚ã£ãŸéƒ¨åˆ†ã‚‚ã‚ã‚‹ã®ã§ã€å°‘ã—サマã£ãŸãƒ¡ãƒ¢ã‚’書ãã¾ã™ã€‚ メトリクスå–å¾—ã®ãŸã‚ã®ä»•çµ„ã¿ Javaã«ã¯ãƒ‘フォーマンスメトリクスをå–å¾—ã™ã‚‹ãŸã‚ã®æ–¹æ³•ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™ã€‚代表的ãªã®ã¯ä¸‹è¨˜ã®3ã¤ã§ã—ょã†ã€‚ JMX ãƒã‚° JPLIS(javaagent) JMX Java Management Extensions(JMX)ã¯Javaã®ãƒªã‚½ãƒ¼ã‚¹ç›£è¦–ãŠã‚ˆã³ç®¡ç†ã®ãŸã‚ã®ãƒ—ãƒãƒˆã‚³ãƒ«ã§ã™ã€‚ç°¡å˜ã«ã„ãˆã°Java版ã®SNMPã§ã™ã€‚ JSR-174ã¨ã—ã¦Java 1.5よりå–ã‚Šè¾¼ã¾ã‚Œã¦ã„ã¾ã™ã€‚ Managed Bean(MBean)を利用ã—ã¦CPUやメモリã®æƒ…å ±ã‚’å–å¾—ã—ãŸã‚Šã€ç‰¹å®šã®ã‚¤ãƒ™ãƒ³ãƒˆ(例ãˆã°å¼·åˆ¶GC)ã¨ã‹ã‚’実行ã™ã‚‹ã“ã¨ã‚‚å¯
ヌーラボã§Scalaを書ãRubyistã®è°·æœ¬ã§ã™ã€‚ヌーラボã§ã¯ã€Backlogã®é–‹ç™ºã‚’担当ã—ã¦ãŠã‚Šã€æœ€è¿‘ã§ã¯Backlogã‚’Javaã‹ã‚‰Scala / Play Frameworkã«ç§»è¡Œã™ã‚‹ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã—ãŸã€‚ Backlogã®Play化プãƒã‚¸ã‚§ã‚¯ãƒˆã§ã¯ã€OutOfMemorryError(以下ã€OOM)ã®ç™ºç”Ÿã‚„CPU使用率ã¨ãƒãƒ¼ãƒ‰ã‚¢ãƒ™ãƒ¬ãƒ¼ã‚¸ãŒä¸ŠãŒã£ãŸã¾ã¾ã¨ã„ã†ã€Java Virtual Machine(以下ã€JVM)上ã§å‹•ãBacklogã®ãƒ‘フォーマンスã«é–¢ã™ã‚‹å•é¡Œã«å¯¾å‡¦ã™ã¹ãã€ä½•åº¦ã‹Heap/Thread dumpを見る機会ãŒã‚ã‚Šã¾ã—ãŸã€‚ ç§ãŒPlay化プãƒã‚¸ã‚§ã‚¯ãƒˆã§å–り組んã パフォーマンス改善ã®çŸ¥è¦‹ã‚„経験をもã¨ã«ã€æœ¬è¨˜äº‹ã§ã¯ã€ŒJVMã§èµ·ã“ã£ãŸãƒ‘フォーマンスã®å•é¡Œã®åˆ‡ã‚Šåˆ†ã‘æ–¹ã€ã«ã¤ã„ã¦ãŠå±Šã‘ã—ã¾ã™ã€‚ ã¯ã˜ã‚㫠本番環境ã§ã—ã°ã‚‰ãå‹•ã‹ã—ã¦ã„ã‚‹ã¨ã€ã‚³ãƒ¼ãƒ‰è‡ªä½“ã¯æ£ã—ã実行ã§ãã‚‹ã‘
リリースã€éšœå®³æƒ…å ±ãªã©ã®ã‚µãƒ¼ãƒ“スã®ãŠçŸ¥ã‚‰ã›
最新ã®äººæ°—エントリーã®é…ä¿¡
処ç†ã‚’実行ä¸ã§ã™
j次ã®ãƒ–ックマーク
kå‰ã®ãƒ–ックマーク
lã‚ã¨ã§èªã‚€
eコメント一覧を開ã
oページを開ã
{{#tags}}- {{label}}
{{/tags}}